VECTOR_INDEXES tampilan

Untuk memberikan masukan atau meminta dukungan terkait fitur ini, kirim email ke bq-vector-search@google.com.

Tampilan INFORMATION_SCHEMA.VECTOR_INDEXES berisi satu baris untuk setiap indeks vektor dalam set data.

Izin yang diperlukan

Untuk melihat metadata indeks vektor, Anda memerlukan izin Pengelolaan Akses dan Identitas (IAM) bigquery.tables.get atau bigquery.tables.list pada tabel dengan indeks tersebut. Setiap peran IAM yang telah ditetapkan berikut menyertakan setidaknya salah satu izin ini:

  • roles/bigquery.admin
  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.dataViewer
  • roles/bigquery.metadataViewer
  • roles/bigquery.user

Untuk mengetahui informasi selengkapnya tentang izin BigQuery, lihat Kontrol akses dengan IAM.

Skema

Saat Anda membuat kueri tampilan INFORMATION_SCHEMA.VECTOR_INDEXES, hasil kueri akan berisi satu baris untuk setiap indeks vektor dalam set data.

Tabel virtual INFORMATION_SCHEMA.VECTOR_INDEXES memiliki skema berikut:

Nama kolom Jenis data Nilai
index_catalog STRING Nama project yang berisi set data.
index_schema STRING Nama set data yang berisi indeks.
table_name STRING Nama tabel tempat indeks dibuat.
index_name STRING Nama indeks vektor.
index_status STRING Status indeks: ACTIVE, PENDING DISABLEMENT, TEMPORARILY DISABLED, atau PERMANENTLY DISABLED.
  • ACTIVE berarti indeks dapat digunakan atau sedang dibuat. Lihat coverage_percentage untuk melihat progres pembuatan indeks.
  • PENDING DISABLEMENT berarti ukuran total tabel yang diindeks melebihi batas organisasi Anda; indeks akan dimasukkan ke dalam antrean untuk dihapus. Selama dalam keadaan ini, indeks dapat digunakan dalam kueri penelusuran vektor dan Anda akan dikenai biaya untuk penyimpanan indeks vektor.
  • TEMPORARILY DISABLED berarti bahwa total ukuran tabel terindeks melebihi batas organisasi Anda, atau tabel yang diindeks lebih kecil dari 10 MB. Selama dalam status ini, indeks tidak digunakan dalam kueri penelusuran vektor dan Anda tidak dikenai biaya untuk penyimpanan indeks vektor.
  • PERMANENTLY DISABLED berarti ada perubahan skema yang tidak kompatibel pada tabel yang diindeks.
creation_time TIMESTAMP Waktu pembuatan indeks.
last_modification_time TIMESTAMP Terakhir kali konfigurasi indeks diubah. Misalnya, menghapus kolom yang diindeks.
last_refresh_time TIMESTAMP Terakhir kali data tabel diindeks. Nilai NULL berarti indeks belum tersedia.
disable_time TIMESTAMP Waktu status indeks ditetapkan ke DISABLED. Nilainya adalah NULL jika status indeks bukan DISABLED.
disable_reason STRING Alasan indeks dinonaktifkan. NULL jika status indeks bukan DISABLED.
DDL STRING Pernyataan bahasa definisi data (DDL) yang digunakan untuk membuat indeks.
coverage_percentage INTEGER Perkiraan persentase data tabel yang telah diindeks. 0% berarti indeks tidak dapat digunakan dalam kueri VECTOR_SEARCH, meskipun beberapa data telah diindeks.
unindexed_row_count INTEGER Jumlah baris dalam tabel yang belum diindeks.
total_logical_bytes INTEGER Jumlah byte logis yang dapat ditagih untuk indeks.
total_storage_bytes INTEGER Jumlah byte penyimpanan yang dapat ditagih untuk indeks.

Cakupan dan sintaksis

Kueri terhadap tampilan ini harus memiliki penentu set data. Tabel berikut menjelaskan cakupan wilayah untuk tampilan ini:

Nama Tampilan Cakupan resource Cakupan region
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.VECTOR_INDEXES Level set data Lokasi set data

Ganti kode berikut:

  • Opsional: PROJECT_ID: ID project Google Cloud Anda. Jika tidak ditentukan, project default akan digunakan.
  • DATASET_ID: ID set data Anda. Untuk mengetahui informasi selengkapnya, lihat Penentu set data.

Contoh

-- Returns metadata for vector indexes in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.VECTOR_INDEXES;

Contoh

Contoh berikut menunjukkan semua indeks vektor aktif pada tabel dalam set data my_dataset, yang terletak di project my_project. Pernyataan ini mencakup nama, pernyataan DDL yang digunakan untuk membuatnya, dan persentase cakupannya. Jika tabel dasar yang diindeks kurang dari 10 MB, indeksnya tidak akan diisi, dan dalam hal ini nilai coverage_percentage adalah 0.

SELECT table_name, index_name, ddl, coverage_percentage
FROM my_project.my_dataset.INFORMATION_SCHEMA.VECTOR_INDEXES
WHERE index_status = 'ACTIVE';

Hasilnya akan mirip dengan berikut ini:

+-------------+-------------+-----------------------------------------------------------------------------------------------+---------------------+
| table_name  | index_name  | ddl                                                                                           | coverage_percentage |
+-------------+-------------+-----------------------------------------------------------------------------------------------+---------------------+
| small_table | myindex1    | CREATE VECTOR INDEX `myindex1` ON `my_project.my_dataset.small_table`(embeddings)             | 100                 |
|             |             | OPTIONS (distance_type = 'EUCLIDEAN', index_type = 'IVF', ivf_options = '{"numLists": 3}')    |                     |
+-------------+-------------+-----------------------------------------------------------------------------------------------+---------------------+
| large_table | myindex2    | CREATE VECTOR INDEX `myindex2` ON `my_project.my_dataset.large_table`(vectors)                |  42                 |
|             |             | OPTIONS (distance_type = 'EUCLIDEAN', index_type = 'IVF', ivf_options = '{"numLists": 12}')   |                     |
+-------------+-------------+-----------------------------------------------------------------------------------------------+---------------------+