VECTOR_INDEXES ビュー
INFORMATION_SCHEMA.VECTOR_INDEXES
ビューには、データセット内のベクトル インデックスごとに 1 行が表示されます。
必要な権限
ベクトル インデックスのメタデータを表示するには、インデックスを含むテーブルに対する bigquery.tables.get
または bigquery.tables.list
の Identity and Access Management(IAM)権限が必要です。次に示す事前定義された各 IAM ロールには、これらのうち少なくとも 1 つの権限が含まれています。
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
roles/bigquery.user
BigQuery の権限の詳細については、IAM でのアクセス制御をご覧ください。
スキーマ
INFORMATION_SCHEMA.VECTOR_INDEXES
ビューにクエリを実行すると、データセット内の各ベクトル インデックスに関する情報が 1 行ずつ表示されるクエリ結果が返されます。
INFORMATION_SCHEMA.VECTOR_INDEXES
ビューのスキーマは次のとおりです。
列名 | データ型 | 値 |
---|---|---|
index_catalog |
STRING |
データセットを含むプロジェクトの名前。 |
index_schema |
STRING |
インデックスを含むデータセットの名前。 |
table_name |
STRING |
インデックスが作成されるテーブルの名前。 |
index_name |
STRING |
ベクトル インデックスの名前。 |
index_status |
STRING |
インデックスのステータス: ACTIVE 、PENDING
DISABLEMENT 、TEMPORARILY DISABLED 、または PERMANENTLY DISABLED 。
|
creation_time |
TIMESTAMP |
インデックスが作成された時刻。 |
last_modification_time |
TIMESTAMP |
インデックス構成が最後に変更された時刻。たとえば、インデックス付きの列の削除などです。 |
last_refresh_time |
TIMESTAMP |
テーブルデータが最後にインデックスに登録された時刻。値 NULL は、インデックスがまだ利用できないことを意味します。 |
disable_time |
TIMESTAMP |
インデックスのステータスが DISABLED に設定された時刻。インデックスのステータスが DISABLED でない場合、値は NULL です。 |
disable_reason |
STRING |
インデックスが無効になった理由。インデックスのステータスが DISABLED でない場合は NULL です。 |
DDL |
STRING |
インデックスの作成に使用されるデータ定義言語(DDL)ステートメント。 |
coverage_percentage |
INTEGER |
インデックス登録されたテーブルデータのおおよその割合。
0% は、一部のデータがすでにインデックスに登録されていても、VECTOR_SEARCH クエリでそのインデックスを使用できないことを意味します。 |
unindexed_row_count |
INTEGER |
インデックスに登録されていないベーステーブル内の行数。 |
total_logical_bytes |
INTEGER |
インデックスの課金対象の論理バイト数。 |
total_storage_bytes |
INTEGER |
インデックスの課金対象ストレージのバイト数。 |
スコープと構文
このビューに対するクエリでは、データセット修飾子を指定する必要があります。 次の表で、このビューのリージョン スコープを説明します。
View Name | リソース スコープ | リージョン スコープ |
---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.VECTOR_INDEXES |
データセット レベル | データセットの場所 |
省略可: PROJECT_ID
: Google Cloud プロジェクトの ID。指定しない場合は、デフォルトのプロジェクトが使用されます。
DATASET_ID
: データセットの ID詳しくは、データセット修飾子をご覧ください。
例
-- Returns metadata for vector indexes in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.VECTOR_INDEXES;
例
次の例では、プロジェクト my_project
にあるデータセット my_dataset
内のテーブルに対するアクティブなベクトル インデックスがすべて表示されます。これには、名前、作成に使用された DDL ステートメント、カバレッジの割合が含まれます。インデックス付きベーステーブルが 10 MB 未満の場合、そのインデックスにはデータが取り込まれず、coverage_percentage
値は 0 になります。
SELECT table_name, index_name, ddl, coverage_percentage FROM my_project.my_dataset.INFORMATION_SCHEMA.VECTOR_INDEXES WHERE index_status = 'ACTIVE';
次のような結果になります。
+------------+------------+-------------------------------------------------------------------------------------------------+---------------------+ | table_name | index_name | ddl | coverage_percentage | +------------+------------+-------------------------------------------------------------------------------------------------+---------------------+ | table1 | indexa | CREATE VECTOR INDEX `indexa` ON `my_project.my_dataset.table1`(embeddings) | 100 | | | | OPTIONS (distance_type = 'EUCLIDEAN', index_type = 'IVF', ivf_options = '{"num_lists": 100}') | | +------------+------------+-------------------------------------------------------------------------------------------------+---------------------+ | table2 | indexb | CREATE VECTOR INDEX `indexb` ON `my_project.my_dataset.table2`(vectors) | 42 | | | | OPTIONS (distance_type = 'COSINE', index_type = 'IVF', ivf_options = '{"num_lists": 500}') | | +------------+------------+-------------------------------------------------------------------------------------------------+---------------------+ | table3 | indexc | CREATE VECTOR INDEX `indexc` ON `my_project.my_dataset.table3`(vectors) | 98 | | | | OPTIONS (distance_type = 'DOT_PRODUCT', index_type = 'TREE_AH', | | | | | tree_ah_options = '{"leaf_node_embedding_count": 1000, "normalization_type": "NONE"}') | | +------------+------------+-------------------------------------------------------------------------------------------------+---------------------+