VECTOR_INDEXES 뷰
INFORMATION_SCHEMA.VECTOR_INDEXES
뷰에는 데이터 세트에 있는 각 벡터에 대해 하나의 행이 포함되어 있습니다.
필수 권한
벡터 색인 메타데이터를 보려면 색인이 있는 테이블에 대한 bigquery.tables.get
또는 bigquery.tables.list
Identity and Access Management(IAM) 권한이 필요합니다. 다음과 같은 사전 정의된 IAM 역할에는 이러한 권한 중 하나 이상이 포함되어 있습니다.
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
roles/bigquery.user
BigQuery 권한에 대한 자세한 내용은 IAM으로 액세스 제어를 참조하세요.
스키마
INFORMATION_SCHEMA.VECTOR_INDEXES
뷰를 쿼리하면 데이터 세트에 있는 각 벡터마다 행이 하나씩 쿼리 결과에 포함됩니다.
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 |
색인의 청구 가능한 스토리지 바이트 수입니다. |
범위 및 구문
이 뷰에 대한 쿼리에는 데이터 세트 한정자가 있어야 합니다. 다음 표에는 이 뷰의 리전 범위가 나와 있습니다.
뷰 이름 | 리소스 범위 | 리전 범위 |
---|---|---|
[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 문, 적용 범위 비율이 포함됩니다. 색인이 생성된 기본 테이블이 10MB 미만이면 색인이 채워지지 않으며, 이 경우 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"}') | | +------------+------------+-------------------------------------------------------------------------------------------------+---------------------+