Cassandra 1.1.2 を使用しています RDBMS アプリケーションを Cassandra に変換しようとしています。私の RDBMS アプリケーションには、table1 という次のテーブルがあります。
| Col1 | Col2 | Col3 | Col4 |
- Col1: 文字列 (主キー)
- Col2: 文字列 (主キー)
- Col3: Bigint (インデックス)
- Col4: ビギント
このテーブルは 2 億件以上のレコードを数えます。主に使用されるクエリは次のようなものです。
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
クエリは、col3 = 67 が機能する table1 から col1、col2、col3、col4 を選択します
Google は、そのようなクエリを実行する方法はないと述べています。そうですか?そのようなクエリを作成する方法について何かアドバイスはありますか?