Cassandra のセカンダリ インデックスは内部でどのように機能しますか? ドキュメントには、ある種のハッシュインデックスであると記載されています。
CFに列username="foobar"
(列のユーザー名は副次的なインデックスになります)があるUser
としますRandomOrderingPartitioner
- カサンドラが「分散ハッシュインデックス」を使用するという私の仮定は正しいですか(=インデックスが1つのノードにない=インデックスが分割されている)?
- インデックス パーツが保持されているノードの数 (レプリケーション ファクターと同じ量)。
インデックス パーツが保持されているノードはどれですか (Cassandra は RandomOrderingPartitioner のキーと同じロジックでインデックスを分割しますか)?
インデックスが 1 つのノードのみで保持されている (そしてもちろんレプリケートされている) 場合、cassandra はインデックスを担当するノードをどのように "決定" しますか (列名をハッシュし、次に randompartitioner logik を使用してノードを決定します)。
このインデックスが低いカーディナリティ向けに最適化されているというのは本当ですか? はいの場合、セカンダリインデックスを使用しないでください(インデックスには別のCFを使用してください)、おおまかな見積もりは何ですか(判断に使用できる具体的な数値はありますか)?または、カーディナリティを計算して正しい決定を下す方法を別の方法で言いましたか?
私はこれを理解しようとしています。