次のテーブル構造を持つテーブルを検討してください...
CREATE TABLE table1 (ID 整数、名前 varchar(32)、ts タイムスタンプ);
SELECT * FROM table1 WHERE id = xx and ts between '2010/04/01' と '2010/04/11'
このクエリが与えられた場合、Cassandra を使用して特定のデータセットをどのように表現しますか?
次のテーブル構造を持つテーブルを検討してください...
CREATE TABLE table1 (ID 整数、名前 varchar(32)、ts タイムスタンプ);
SELECT * FROM table1 WHERE id = xx and ts between '2010/04/01' と '2010/04/11'
このクエリが与えられた場合、Cassandra を使用して特定のデータセットをどのように表現しますか?
id または ts (より選択的な方) のいずれかでインデックスを構築し、それに対してクエリを実行し、他の部分を手動でフィルター処理します。
(これは基本的に、SQL データベースがフードの下で行うことです。)
セカンダリインデックスを作成する必要があります。私のブログで説明されているCassandraインデックスパターンの1つは、問題を解決します。
http://pkghosh.wordpress.com/2011/03/02/cassandra-secondary-index-patterns/
プラナブ