Cassandraドキュメント

バージョン

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

SAIインデックスとSSTableの仮想テーブル

Storage Attached Indexing (SAI) は、SAIインデックスと関連するSSTableのシステムメタデータの現在の状態を発見できるようにする、CQLベースの仮想テーブルを提供します。これらの仮想テーブルは、system_viewsキースペースに存在します。

関連情報については、SAI情報を参照してください。

system_views.indexes

system_views.indexes仮想テーブルには、SAIインデックスに関するステートフルな情報が含まれています。このビューは、インデックス名、インデックス付きSSTableの数、ディスク使用量、インデックス状態など、カラムインデックスレベルで情報を提供します。インデックス状態からは、インデックスが現在構築中であるかどうか、およびインデックスをクエリできるかどうかを示すデータが明らかになります。

CQLを使用してテーブルの説明を表示します。例

DESCRIBE TABLE system_views.indexes;
/*
Warning: Table system_views.indexes is a virtual table and cannot be recreated with CQL.
Structure, for reference:
VIRTUAL TABLE system_views.indexes (
    keyspace_name text,
    index_name text,
    analyzer text,
    cell_count bigint,
    column_name text,
    indexed_sstable_count int,
    is_building boolean,
    is_queryable boolean,
    is_string boolean,
    per_column_disk_size bigint,
    per_table_disk_size bigint,
    table_name text,
    PRIMARY KEY (keyspace_name, index_name)
) WITH CLUSTERING ORDER BY (index_name ASC)
    AND comment = 'Storage-attached column index metadata';
*/

現在のデータを表示するには、次のようなクエリを送信します

SELECT * FROM system_views.indexes;
 keyspace_name | index_name           | analyzer                                                    | cell_count | column_name  | indexed_sstable_count | is_building | is_queryable | is_string | per_column_disk_size | per_table_disk_size | table_name
---------------+----------------------+-------------------------------------------------------------+------------+--------------+-----------------------+-------------+--------------+-----------+----------------------+---------------------+------------------
       cycling |          age_sai_idx |                                              NoOpAnalyzer{} |          0 |          age |                     0 |       False |         True |     False |                    0 |                   0 | cyclist_semi_pro
       cycling |      country_sai_idx | NonTokenizingAnalyzer{caseSensitive=false, normalized=true} |          0 |      country |                     0 |       False |         True |      True |                    0 |                   0 | cyclist_semi_pro
       cycling |     lastname_sai_idx | NonTokenizingAnalyzer{caseSensitive=false, normalized=true} |          0 |     lastname |                     0 |       False |         True |      True |                    0 |                   0 | cyclist_semi_pro
       cycling | registration_sai_idx |                                              NoOpAnalyzer{} |          0 | registration |                     0 |       False |         True |     False |                    0 |                   0 | cyclist_semi_pro

(4 rows)
system_views.indexesメタデータ
カラム名 CQL型 意味

keyspace_name

text

インデックスが属するキースペースの名前。

index_name

text

インデックスの名前。

analyzer

text

インデックスで使用されるアナライザーのtoString表現。

cell_count

bigint

インデックス付きのテーブルセルの数、またはインデックス値とキーのエントリの数。これは、各SSTable内のインデックスエントリの数の合計です。

column_name

text

インデックス付きカラムの名前。

indexed_sstable_count

int

インデックス付きSSTableの数。関連データのないSSTableはインデックスが作成されず、ここでカウントされないことに注意してください。

is_building

boolean

インデックスの構築が進行中かどうか。

is_queryable

boolean

インデックスをクエリできるかどうか。最初のタスクビルドがまだ完了していない場合はできません。

is_string

boolean

インデックスがテキストフィールド (asciitext、またはvarchar) 用であるかどうか。

per_column_disk_size

bigint

カラムに固有のインデックスコンポーネントのディスク上のサイズ(バイト単位)。

per_table_disk_size

bigint

同じテーブルの他のSAIインデックスと共有されるインデックスコンポーネントのディスク上のサイズ(バイト単位)。

table_name

text

インデックス付きカラムが属するテーブルの名前。

system_views.sstable_indexes

system_views.sstable_indexes仮想テーブルには、SAIインデックスとSSTableごとに1つの行があります。このビューは個々のSSTableインデックスを記述し、ディスクサイズ、最小/最大行ID、最小/最大リングトークン、インデックスの書き込み時間バージョンに関する情報を含みます。

CQLを使用してテーブルの説明を表示します。例

DESCRIBE TABLE system_views.sstable_indexes;
/*
Warning: Table system_views.sstable_indexes is a virtual table and cannot be recreated with CQL.
Structure, for reference:
VIRTUAL TABLE system_views.sstable_indexes (
    keyspace_name text,
    index_name text,
    sstable_name text,
    cell_count bigint,
    column_name text,
    end_token text,
    format_version text,
    max_row_id bigint,
    min_row_id bigint,
    per_column_disk_size bigint,
    per_table_disk_size bigint,
    start_token text,
    table_name text,
    PRIMARY KEY (keyspace_name, index_name, sstable_name)
) WITH CLUSTERING ORDER BY (index_name ASC, sstable_name ASC)
    AND comment = 'SSTable index metadata';
*/

現在のデータを表示するには、次のようなクエリを送信します

SELECT * FROM system_views.sstable_indexes;
system_views.sstable_indexes メタデータ<
カラム名 CQL型 意味

keyspace_name

text

インデックスが属するキースペースの名前。

index_name

text

インデックスの名前。

sstable_name

text

SSTableの名前。

cell_count

bigint

インデックス付きのテーブルセルの数、またはインデックス値とキーのエントリの数。

column_name

text

インデックス付きカラムの名前。

start_token

text

インデックス付きSSTableがカバーするトークン範囲の開始。

end_token

text

インデックス付きSSTableがカバーするトークン範囲の終了。

min_row_id

bigint

SSTableインデックス内の最小行ID。

max_row_id

bigint

SSTableインデックス内の最大行ID。

per_column_disk_size

bigint

カラムに固有のSSTableインデックスコンポーネントのディスク上のサイズ(バイト単位)。

per_table_disk_size

bigint

同じテーブルの他のSAIインデックスと共有されるSSTableインデックスコンポーネントのディスク上のサイズ(バイト単位)。

table_name

text

インデックス付きカラムが属するテーブルの名前。

system_views.sstable_index_segments

system_views.sstable_index_segments仮想テーブルには、SAIインデックスとSSTableセグメントごとに1つの行があります。このビューは、SSTableインデックスのセグメントを記述します。セグメントの行IDオフセットと、SSTableレベルの仮想テーブルのほとんどの情報(特にセグメントの粒度で)を公開します。

CQLを使用してテーブルの説明を表示します。例

DESCRIBE TABLE system_views.sstable_index_segments;
/*
Warning: Table system_views.sstable_index_segments is a virtual table and cannot be recreated with CQL.
Structure, for reference:
VIRTUAL TABLE system_views.sstable_index_segments (
    keyspace_name text,
    index_name text,
    sstable_name text,
    segment_row_id_offset bigint,
    cell_count bigint,
    column_name text,
    component_metadata frozen<map<text, map<text, text>>>,
    end_token text,
    max_sstable_row_id bigint,
    max_term text,
    min_sstable_row_id bigint,
    min_term text,
    start_token text,
    table_name text,
    PRIMARY KEY (keyspace_name, index_name, sstable_name, segment_row_id_offset)
) WITH CLUSTERING ORDER BY (index_name ASC, sstable_name ASC, segment_row_id_offset ASC)
    AND comment = 'SSTable index segment metadata';
*/

現在のデータを表示するには、次のようなクエリを送信します

SELECT * FROM system_views.sstable_index_segments;
system_views.sstable_index_segments メタデータ
カラム名 CQL型 意味

keyspace_name

text

インデックスが属するキースペースの名前。

index_name

text

インデックスの名前。

sstable_name

text

SSTableの名前。

segment_row_id_offset

bigint

SSTableセグメントの行IDオフセット。

cell_count

bigint

インデックス付きセグメントの数、またはインデックスセグメント値とキーのエントリの数。

column_name

text

インデックス付きカラムの名前。

component_metadata

frozen<map<text, map<text, text>>>

SSTableセグメントのコンポーネントメタデータ。

end_token

text

SSTableセグメントがカバーするトークン範囲の終了。

max_sstable_row_id

bigint

SSTableセグメント内の最大行ID。

max_term

text

SSTableセグメント内の最大項。

min_sstable_row_id

bigint

SSTableセグメント内の最小行ID。

min_term

text

SSTableセグメント内の最小項。

start_token

text

SSTableセグメントがカバーするトークン範囲の開始。

table_name

text

SSTableセグメントが属するテーブルの名前。