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