Planetcassandraでこのブログを読んだ後、3 つのフィールドを持つ CQL3 複合インデックスがどのようにthrift column family word にマップされるのか疑問に思っています。例えば:
CREATE TABLE comments (
article_id uuid,
posted_at timestamp,
author text,
karma int,
content text,
PRIMARY KEY (article_id, posted_at)
)
ここで、列 article_id は内部行キーにマップされ、posted_at はセル名 (の最初の部分) にマップされます。
テーブルのデザインがどうなるか
CREATE TABLE comments (
author_id varchar,
posted_at timestamp,
article_id uuid,
author text,
karma int,
content text,
PRIMARY KEY (author_id, posted_at, article_id)
)
- また、内部行キーは複合インデックスの最初の 2 つのフィールドにマップされ、article_id がセル名にマップされ、基本的に 20 億エントリまでの記事をスライスし、author_id と posted_at の組み合わせに対するクエリはディスク上の 1 つのシークになりますか?
- 複合キーの任意の数のフィールドで動作は同じですか?
あなたの答えは大歓迎です。