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 |
색인에서 시작된 색인 스캔 횟수 |
partitioncount |
BIGINT |
트리의 파티션(리프 노드) 수 |
조정 측정항목
조정 측정항목은 현재 색인 최적화에 대한 인사이트를 제공하여, 더 빠른 쿼리 성능을 위해 권장사항을 적용할 수 있도록 합니다.
측정항목 이름 | 데이터 유형 | 설명 |
---|---|---|
insertcount |
BIGINT |
색인에 대한 삽입 작업 수입니다. 이 측정항목에는 색인이 생성되기 전에 존재했던 행 수도 포함됩니다. |
updatecount |
BIGINT |
색인에 대한 업데이트 작업 수입니다. 이 측정항목은 HOT 업데이트를 고려하지 않습니다. |
deletecount |
BIGINT |
색인에 대한 삭제 작업 수입니다. |
distribution |
JSONB |
색인의 모든 파티션에 걸친 벡터 분포입니다. 분포 필드의 세부정보는 다음과 같습니다.
참고: K-평균 클러스터링 알고리즘의 고유한 특성으로 인해 색인이 처음 생성될 때도 파티션 간 벡터 분포에 일정 수준의 분산이 발생하는 것이 정상입니다. |
측정항목을 기반으로 한 조정 추천
- 변형
insertcount
,updatecount
,deletecount
측정항목은 색인의 벡터에 있는 변경사항이나 변형을 함께 보여줍니다.- 색인은 특정 개수의 벡터와 파티션으로 생성됩니다. 벡터 색인에서 삽입, 업데이트, 삭제와 같은 작업을 실행하면, 이는 벡터가 있는 초기 파티션 집합에만 영향을 줍니다. 그 결과 시간이 지남에 따라 각 파티션의 벡터 수가 변동되고, 이는 재현율, QPS 또는 두 가지 모두에 영향을 줄 수 있습니다.
- 시간이 지남에 따라 ANN 검색 쿼리에서 QPS가 낮거나 재현율이 좋지 않은 등 속도 또는 정확도 문제가 발생하는 경우 이러한 측정항목을 검토해 보세요. 전체 벡터 수에 비해 변동 횟수가 많다면 색인 재생성이 필요하다는 신호일 수 있습니다.
- 분포
distribution
측정항목은 모든 파티션에 걸친 벡터 분포를 보여줍니다.- 색인을 만들 때, 색인은 특정 개수의 벡터와 고정된 파티션 수로 생성됩니다. 파티셔닝 프로세스와 그 이후의 분포는 이 고려사항을 기반으로 이루어집니다. 이후 벡터가 추가되면 이들은 기존 파티션에 분배되며, 그 결과 색인 생성 시점의 분포와는 다른 분포가 형성됩니다. 최종 분포는 모든 벡터를 동시에 고려하지 않으므로 재현율, QPS 또는 두 가지 모두에 영향을 줄 수 있습니다.
- ANN 검색 쿼리에서 응답 시간이 느려지거나 결과 정확도가 떨어지는(QPS 또는 재현율로 측정) 등 성능이 점진적으로 저하되는 현상이 관찰된다면, 이 측정항목을 확인하고 색인을 다시 생성하는 것이 좋습니다.