Задержка Cassandra Create Table/CF

Я пытаюсь создать платформу для эталонного теста, который я запускаю для клиента, который включает Cassandra в качестве базы данных для большой нагрузки на пропускную способность записи. Существует огромное количество метрик (временных рядов), которые нужно хранить, и каждая метрика должна храниться как CQLTable / Column Family.
Первая проблема заключается в том, что их создание (примерно 10 миллионов метрик) занимает несколько дней (запуск 4-узлового кластера). ). Я пытался использовать executemany (python cql) для увеличения объема, но «время обслуживания» задержки примерно такое же. Может ли кто-нибудь посоветовать лучший способ сделать это?


person Shay    schedule 29.07.2013    source источник


Ответы (1)


Не следует создавать отдельное семейство столбцов для каждого — 10 миллионов семейств столбцов — это слишком много, поскольку каждый CF использует фиксированные ресурсы.

Вам, вероятно, было бы лучше поместить их в один CF. Вы можете добавить имя метрики как компонент составного первичного ключа, например.

create table metrics (
    metric text,
    day timestamp,
    time timestamp,
    value text,
    primary key ((metric, day))
);

Поле дня предназначено для разбиения метрик по дням, чтобы они не оказались в одной строке для данной метрики.

person Richard    schedule 29.07.2013