Может ли Cassandra разбивать таблицы на основе даты / времени? - PullRequest
0 голосов
/ 30 января 2012

У меня очень большая таблица со многими столбцами. Значения в некоторых столбцах изменяются редко, и, поскольку хранить все эти данные в одной таблице нехорошо, я хотел бы разбить таблицу на несколько таблиц на основе меток времени. То есть для одной временной отметки создается одна таблица, а при запросе всех этих таблиц должна быть получена абстракция одной таблицы. Таким образом, запрос должен выполняться только для требуемых таблиц (на основе запроса временного диапазона), и все эти результаты должны быть объединены.

Таким образом, мне нужны две функции:

  • Автоматическая разреженная реализация
  • Хранение в виде нескольких таблиц на основе отметки времени и абстракции попадания в одну таблицу

Какой инструмент лучше всего подходит для этой цели? Подойдет ли Кассандра?

1 Ответ

3 голосов
/ 01 февраля 2012

Обычные базы данных SQL, такие как PostgreSQL , могут обрабатывать несколько ТБ (максимальный теоретический размер таблицы составляет 32 ТБ).Некоторые могут обрабатывать гораздо большие объемы данных, хотя для этого обычно требуется разбить данные на кластеры компьютеров.

10 столбцов - не очень много - в PostgreSQL максимум 250-16600 столбцов на таблицу в зависимости от столбца.тип.Обеспечивается индексация по времени, поэтому не нужно выполнять разбиение по отметке времени, учитывая, что вам все равно нужно запрашивать данные (т.е. вы не архивируете старые данные).

Cassandra может обрабатывать гораздо большие объемы данныхчем это, но обычно можно использовать несколько узлов в кластере для распределения нагрузки и обеспечения репликации.Типичный совет, по-видимому, заключается в использовании одного узла на ТБ, если система сильно загружена для чтения / записи, или более (2-3 ТБ?), Если она загружена незначительно.

Кассандра не использует таблицы какнапример.У него есть семейства столбцов, которые содержат строки разреженных столбцов ( до 2 миллиардов на строку ).Опять же, разделение данных не требуется, в общем - вы можете хранить огромное количество строк в одном семействе столбцов (под капотом они разделены между вашими узлами и в дальнейшем разделены на файлы, называемые SSTables).

Пригодность Кассандры зависит в некоторой степени от типов запросов, которые вы хотите сделать.Cassandra не обеспечивает гибких запросов SQL, поэтому вам необходимо структурировать данные в соответствии с запросами.

...