2017-01-20 30 views
0

CassandraはLSMツリーをストレージに使用しますが、正確にはcassandraのインデックス構造は何ですか?たとえば、MongoとCouchbaseの両方がBTreeを使います。Cassandraのインデックス構造とは

答えて

3

実際に使用しているCassandraのバージョンによって異なります。

3.4より前のバージョンの場合、インデックスは、アクセスするデータのキー値を保持する非表示のカスドンドラテーブルとして実装されています。この戦略の主な欠点は、SStablesが圧縮されているため、データを直接参照することができず、キーが与えられているために、読み取りパスを再度通過する必要があることです。

バージョン3.4では、SASIインデックス(SSTable Attached Secondary Indexes)が導入されました。基本的に、インデックスの一部は各SStableに関連付けられており、したがってそれと共に分散されます。つまり、別の読み取りパスを支払うのではなく、実際に参照を使用してデータにアクセスすることができます。実装に関しては、それらはb-treeです。

Hereは、このテーマで本当に役立つリソースです。

+0

ありがとうございます!非常に役立ちます – AAC

関連する問題