Данные временных рядов Cassandra

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

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

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

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

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

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

1 ответов


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

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