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

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

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

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

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

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

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

Ответ 1

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

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