Кассандра: Запрос с предложением where, содержащим больше или меньше (<и>)
Я использую Cassandra 1.1.2. Я пытаюсь преобразовать приложение RDBMS в Cassandra. В моем приложении RDBMS у меня есть следующая таблица table1:
| Col1 | Col2 | Col3 | Col4 |
Col1: String (primary key)
Col2: String (primary key)
Col3: Bigint (index)
Col4: Bigint
Эта таблица насчитывает более 200 миллионов записей. Чаще всего используемый запрос выглядит примерно так:
Select * from table where col3 < 100 and col3 > 50;
В Кассандре я использовал следующую инструкцию для создания таблицы:
create table table1 (primary_key varchar, col1 varchar,
col2 varchar, col3 bigint, col4 bigint, primary key (primary_key));
create index on table1(col3);
Я изменил первичный ключ на дополнительный столбец (я вычисляю ключ внутри моего приложения). После импорта нескольких записей я попытался выполнить следующую cql:
select * from table1 where col3 < 100 and col3 > 50;
Этот результат:
Bad Request: No indexed columns present in by-columns clause with Equal operator
Запросselect col1,col2,col3,col4 from table1 where col3 = 67 работает
Google сказал, что нет никакого способа выполнить такие запросы. Это правильно? Любой совет, как создать такой запрос?