이 페이지에는 AlloyDB Omni에서 생성하는 벡터 색인과 관련된 측정항목이 나와 있습니다. alloydb_scann
확장 프로그램을 설치할 때 사용할 수 있는 pg_stat_ann_indexes
보기를 사용하여 이러한 측정항목을 볼 수 있습니다.
측정항목을 보는 방법에 관한 자세한 내용은 벡터 색인 측정항목 보기를 참고하세요.
사용성 측정항목
사용성 측정항목에는 색인 구성, 색인 스캔 수와 같은 측정항목을 사용하여 색인 사용 상태를 파악하는 데 도움이 되는 측정항목이 포함됩니다.
측정항목 이름 | 데이터 유형 | 설명 |
---|---|---|
relid |
OID |
벡터 색인이 포함된 테이블의 고유 식별자 |
indexrelid |
OID |
벡터 색인의 고유 식별자 |
schemaname |
NAME |
색인을 소유한 스키마의 이름 |
relname |
NAME |
색인이 포함된 테이블의 이름 |
indexrelname |
NAME |
색인 이름 |
indextype |
NAME |
색인의 유형입니다. 이 값은 항상 alloydb_scann 로 설정됩니다. |
indexconfig |
TEXT[] |
색인을 만들 때 색인에 정의된 구성(예: 리프 수 및 큐란터) |
indexsize |
TEXT |
색인 크기 |
indexscan |
BIGINT |
색인에서 시작된 색인 스캔 수 |
조정 측정항목
조정 측정항목은 현재 색인 최적화에 대한 유용한 정보를 제공하므로 더 빠른 쿼리 성능을 위해 추천을 적용할 수 있습니다.
측정항목 이름 | 데이터 유형 | 설명 |
---|---|---|
insertcount |
BIGINT |
색인의 삽입 작업 수입니다. 이 측정항목에는 색인이 생성되기 전에 존재했던 행의 수도 포함됩니다. |
updatecount |
BIGINT |
색인의 업데이트 작업 수입니다. 이 측정항목에는 HOT 업데이트가 고려되지 않습니다. |
deletecount |
BIGINT |
색인의 삭제 작업 수입니다. |
distribution |
JSONB |
색인의 모든 파티션에 걸친 벡터 분포입니다. 다음 필드에는 분포가 표시됩니다.
참고: K-means 클러스터링 알고리즘의 고유한 특성으로 인해 색인이 처음 생성될 때도 파티션 전반에서 벡터의 분포에는 항상 어느 정도의 변동이 있습니다. |
측정항목을 기반으로 한 조정 권장사항
- 변형
insertcount
,updatecount
,deletecount
측정항목은 함께 색인의 벡터의 변경사항 또는 변이를 보여줍니다.- 색인은 특정 수의 벡터와 파티션으로 생성됩니다. 벡터 색인에서 삽입, 업데이트, 삭제와 같은 작업을 실행하면 벡터가 있는 초기 파티션 세트에만 영향을 미칩니다. 따라서 각 파티션의 벡터 수는 시간이 지남에 따라 변동되며 검색 결과, QPS 또는 둘 다에 영향을 줄 수 있습니다.
- 시간 경과에 따라 ANN 검색 쿼리에서 QPS가 낮거나 검색 결과가 적은 등 느려짐이나 정확성 문제가 발생하는 경우 이러한 측정항목을 검토해 보세요. 총 벡터 수 대비 변형 수가 많으면 색인을 다시 생성해야 할 수 있습니다.
- 분포
distribution
측정항목은 모든 파티션의 벡터 분포를 보여줍니다.- 색인을 만들면 특정 수의 벡터와 고정된 파티션으로 색인이 생성됩니다. 파티션 프로세스와 후속 배포는 이 고려사항에 따라 발생합니다. 벡터를 추가하면 기존 파티션 간에 파티션이 나뉘므로 색인이 생성될 때의 분포와 다른 분포가 됩니다. 최종 배포는 모든 벡터를 동시에 고려하지 않으므로 검색 결과, QPS 또는 둘 다에 영향을 줄 수 있습니다.
- 응답 시간이 느려지거나 결과의 정확성이 저하되는 등 (QPS 또는 재현율로 측정) ANN 검색 쿼리의 성능이 점진적으로 저하되는 경우 이 측정항목을 확인하고 색인을 다시 생성해 보세요.