#hbase #time-series #schema #nosql
#hbase #временные ряды #схема #nosql
Вопрос:
Мне нужен совет по выбору решения NOSQL и по разработке схемы для моих данных. Сейчас я рассматриваю Hbase, но если вы считаете, что это не лучший выбор, пожалуйста, дайте мне совет.
У меня около 10 ТБ (немного меньше) данных журнала в текстовом виде. Формат примерно такой.
| key1 | key2 | timestamp | column1 | column2 | column3 | column 4 |
Ниже приведены мои требования.
- Мне нужно извлечь данные с помощью {key1, key2}, и результатом будет массив {timestamp, column1} или массив {timestamp, columnN}. размер каждого массива не будет превышать тысячи.
- Необходимо извлечь данные с фильтром диапазона дат.
- Количество уникальных ключей key1 может превышать миллиард. вот почему размер данных такой большой.
- к столбцам 1 и 2 вряд ли можно обращаться вместе.
- Размер результирующего массива со временем будет увеличиваться, поэтому мне нужно очистить некоторые старые данные. (значение столбца не будет изменено, но будет удалено по истечении срока действия данных.)
Теперь я считаю, что схема выглядит следующим образом.
rowkey - | key1, key2 |
column family - column1_type, column2_type , ..... , columnN_type
column - key :timestamp, value: columnN_value
У меня нет опыта работы с Hbase. Совет будет очень полезен, спасибо.
Ответ №1:
Доступно существующее решение под названием OpenTSDB, которое обрабатывает данные временных рядов. OpenTSDB — это масштабируемая распределенная база данных временных рядов. Он использует HBase для хранения и извлечения данных временных рядов.