Данные временных рядов Кассандры - PullRequest
17 голосов
/ 06 февраля 2010

Мы рассматриваем использование Cassandra для хранения потока информации, поступающей из различных источников.

Одна из проблем, с которой мы сталкиваемся, - это лучший способ запроса между двумя датами.

Например, нам нужно получить объект между datetime dt1 и datetime dt2.

В настоящее время мы рассматриваем созданную метку времени Unix как ключ, указывающий на реальный объект, а затем используем get_key_range для запроса на получение?

Очевидно, что это не сработает, если два элемента имеют одинаковую метку времени.

Это лучший способ использовать datetime в магазинах noSQL в целом?

1 Ответ

15 голосов
/ 08 февраля 2010

Строки Кассандры могут быть очень большими, поэтому рассмотрите возможность моделирования их как столбцов в строке, а не строк в CF; затем вы можете использовать операции срезов столбцов, которые выполняются быстрее, чем срезы строк. Если с этим нет «естественных» ключей, вы можете использовать ежедневные или почасовые ключи, например «2010/02/08 13:00».

В противном случае, да, использование запросов диапазона (get_key_range устарела в 0.5; используйте get_range_slice) - ваш лучший вариант.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...