2016-09-04 2 views
1

Это мой сценарий, у меня есть бизнес таблицы, который имеет следующие столбцы, код, имя, описание, дату и время. Теперь мне нужно показать код и имя тех бизнес-записей, число которых больше, чем текущее системное время. Какую стратегию я должен принять, чтобы кассандра могла дать лучшую готовую производительность для вышеупомянутого сценария.Cassandra выбирает строки на основе диапазона дат

Благодаря Ani

+0

Что вы подразумеваете под стратегией? – bkowalczyyk

ответ

0

Я не знаю размеры ваших данных, но так как вы хотите запрос на DateTime и вы хотите диапазон, данный столбец должен быть ваш последний столбец кластеризация. Это гарантирует, что вы можете запросить его, а также вы можете выполнить поиск по диапазону. Помните, что в cassandra, если вы выполняете поиск по диапазону в некотором столбце, ваш запрос сразу заканчивается.

Пример:

Действительно Запрос выберите * из таблицы, где столбец1 = something1 и столбец2 = something2 и DateTime> Теперь;

Неверный запрос выберите * из таблицы, где column1 = something1 и column2 < something2 и дата_и_время> в настоящее время;

Если вам нужна дополнительная информация или вы можете предоставить нам свои данные и узнать больше о вашем прецеденте. В любом случае это course from datastax помогло мне с процессом моделирования. Я рекомендую его 100%. Это бесплатно. Вам нужно только зарегистрироваться.

+0

Спасибо Reveka за ваш ответ. В моем требовании я не могу использовать какие-либо другие столбцы, как было предложено вами (column1, column2), почему, поскольку для фильтрации данных разрешен только столбец datetime. Вы использовали «SSTable Attached Secondary Index (SASI)», который позволяет выполнять запрос диапазона без указания первичного столбца. – Ani

+0

Да, но я бы не рекомендовал его. Он имеет довольно непредсказуемое поведение (по крайней мере, в моем случае использования). Итак, чтобы все было правильно, единственным вариантом поиска является дата-время? – Reveka

+0

Hi Reveka, Да, мой параметр поиска имеет только дату и время, потому что, по словам прецедента, при выпадении веб-страницы я должен показывать только те бизнес-коды, которые имеют время больше, чем текущее время (как и другие бизнес-коды, которые имели дату и время в прошлом истекшие бизнес-коды) – Ani

Смежные вопросы