Cassandraドキュメント

バージョン

プレリリースバージョンのドキュメントを表示しています。

インデックスの概念

CQLテーブルに格納されたデータは、さまざまな方法でクエリできます。主な方法は、テーブルに定義されたパーティションキーを使用する方法で、プライマリインデックスと呼ばれます。ただし、多くの場合、クエリはテーブルの別の列を使用して目的の行を選択する必要があり、セカンダリインデックスが必要になります。セカンダリインデックスは、指定された条件に一致するデータの高速で効率的な検索に使用します。インデックスが作成されると、そのインデックスを使用してデータをクエリできます。

Apache Cassandraでは、次のタイプのインデックスを使用できます。

インデックスタイプ バージョン

すべて

5.0

すべて

プライマリインデックス

プライマリインデックスは、Apache Cassandraのパーティションキーです。 Apache Cassandraのストレージエンジンは、パーティションキーを使用してデータ行を格納し、最も効率的で高速なデータの検索はパーティションキーと一致します。

ストレージ接続インデックス(SAI)

SAIは非パーティション列のインデックスを使用し、インデックス情報をデータ行を格納するSSTableに添付します。インデックスはSSTableと同じノードに配置され、SSTableが更新されると更新されます。 SAIは、ほとんどのユースケースに最適なインデックス方法です。

セカンダリインデックス(2i)

セカンダリインデックスは、Apache Cassandra用に作成された元の組み込みインデックスです。これらのインデックスはすべてローカルインデックスであり、Apache Cassandraクラスタの各ノードの隠しテーブルに格納され、インデックスされている値を含むテーブルとは別に格納されます。インデックスはノードから読み取る必要があります。このインデックス方法は、パーティションキーと組み合わせて使用​​する場合にのみ推奨されます。