Вопрос

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

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

Например, нам нужно будет получить объект между DateTime DT1 и Datetime DT2.

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

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

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

Это было полезно?

Решение

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top