Данные временных рядов Кассандры
Мы рассматриваем использование 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) - ваш лучший вариант.