tldr: ~ 90 000 супер-столбцов с 1-10 столбцами в каждом ряду слишком много? Как насчет ~ 1500? Значения столбца составляют около 6 байтов каждое.
полный вопрос :
Я исследую различные хранилища данных для данных временных рядов. Базы данных, ориентированные на столбцы, такие как Cassandra и HBase, выглядят очень хорошо.
Требования должны хранить миллионы серий данных, поступающих с (минимум) интервалом в 1 минуту. В идеале мы могли бы поддерживать 1-секундный интервал, если этого потребуют потребности бизнеса (возможно, они могут ).
Советы, предлагаемые в этом блоге , а также используемые OpenTSDB , имеют массу смысла.
По сути, ключи - это идентификаторы серии, объединенные с первой отметкой времени дня, столбцы создаются для каждого измерения в дне. Это примерно 86400 столбцов в строке.
Однако неизменность / версионность данных довольно важна. Бизнес-потребности диктуют возможность обновления значений рядов при сохранении полной истории данных.
Изучение суперколонок Кассандры для предоставления другого измерения для версионирования значений приводит к 86400 суперколонкам. Каждый суперколонка будет содержать один столбец при первом создании значения (возможно, TimeUUID), а затем будет добавляться еще один столбец при каждом «обновлении». Обновления будут происходить регулярно для ограниченных подмножеств ряда и значений. При идеальных условиях обновлений не будет. В идеале это означает, что каждый суперстолбец не имеет огромного количества данных для загрузки, и большая часть доступа будет иметь только самое последнее значение.
Итак, вернемся к вопросу:
Есть ли у меня проблема с производительностью или проблема, с которой я сталкиваюсь при поиске использования такого количества (86 КБ) супер-столбцов в строке?