Я использую Cassandra 1.1.2. Я пытаюсь преобразовать приложение RDBMS в Cassandra.В моем приложении РСУБД у меня есть следующая таблица с именем table1:
| Col1 | Col2 | Col3 | Col4 |
Эта таблица насчитывает более 200 миллионов записей. Чаще всего используется запрос типа:
Select * from table where col3 < 100 and col3 > 50;
В Cassandra я использовал следующий оператор для создания таблицы:
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
Запрос выбирает col1, col2, col3, col4 из table1, где col3 = 67 работает
Google сказал, что нет никакого способа выполнить такие запросы. Это правильно? Любые советы, как создать такой запрос?