pg_stat_ann_indexes
disponível quando instala a alloydb_scann
extensão.
Para mais informações sobre como ver as métricas, consulte o artigo Veja as métricas do índice vetorial.
Métricas de usabilidade
As métricas de usabilidade incluem métricas que ajudam a compreender o estado de utilização do índice com métricas, como a configuração do índice e o número de verificações do índice.
Nome da métrica | Tipo de dados | Descrição |
---|---|---|
relid |
OID |
Identificador exclusivo da tabela que contém o índice vetorial |
indexrelid |
OID |
Identificador exclusivo do índice de vetores |
schemaname |
NAME |
Nome do esquema proprietário do índice |
relname |
NAME |
Nome da tabela que contém o índice |
indexrelname |
NAME |
Nome do índice |
indextype |
NAME |
Tipo de índice. Este valor está sempre definido como alloydb_scann |
indexconfig |
TEXT[] |
Configuração, como a contagem de folhas e o quantizador, definida para o índice quando foi criado |
indexsize |
TEXT |
Tamanho do índice |
indexscan |
BIGINT |
Número de análises de índice iniciadas no índice |
Métricas de aperfeiçoamento
As métricas de ajuste fornecem estatísticas sobre a otimização do índice atual, o que lhe permite aplicar recomendações para um desempenho de consulta mais rápido.
Nome da métrica | Tipo de dados | Descrição |
---|---|---|
insertcount |
BIGINT |
Número de operações de inserção no índice. Esta métrica também inclui o número de linhas que existiam antes da criação do índice. |
updatecount |
BIGINT |
Número de operações de atualização no índice. Esta métrica não tem em conta as atualizações HOT. |
deletecount |
BIGINT |
Número de operações de eliminação no índice. |
distribution |
JSONB |
Distribuições de vetores em todas as partições do índice. Os seguintes campos mostram a distribuição:
Nota: devido às caraterísticas inerentes do algoritmo de agrupamento K-means, haverá sempre algum grau de variação na distribuição de vetores entre partições, mesmo quando o índice é criado inicialmente. |
Ajuste da recomendação com base nas métricas
- Mutação
- As métricas
insertcount
,updatecount
> edeletecount
mostram em conjunto as alterações ou as mutações no vetor do índice. - O índice é criado com um número específico de vetores e partições. Quando são realizadas operações como inserir, atualizar ou eliminar no índice vetorial, estas afetam apenas o conjunto inicial de partições onde os vetores residem. Consequentemente, o número de vetores em cada partição flutua ao longo do tempo, o que pode afetar a capacidade de memorização, o QPS ou ambos.
- Se encontrar problemas de lentidão ou precisão, como um baixo QPS ou uma má capacidade de memorização, nas suas consultas de pesquisa de RNA ao longo do tempo, considere rever estas métricas. Um número elevado de mutações relativamente ao número total de vetores pode indicar a necessidade de reindexação.
- Distribuição
- A métrica
distribution
mostra as distribuições de vetores em todas as partições. - Quando cria um índice, este é criado com um número específico de vetores e partições fixas. O processo de partição e a distribuição subsequente ocorrem com base nesta consideração. Se forem adicionados vetores adicionais, estes são divididos entre as partições existentes, o que resulta numa distribuição diferente em comparação com a distribuição quando o índice foi criado. Uma vez que a distribuição final não considera todos os vetores em simultâneo, a capacidade de memorização, as QPS ou ambas podem ser afetadas.
- Se observar uma diminuição gradual no desempenho das suas consultas de pesquisa de ANN, como tempos de resposta mais lentos ou uma precisão reduzida nos resultados (medida por QPS ou recall), considere verificar esta métrica e reindexar.