Informações gerais sobre a performance da consulta de vetor ScaNN
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Esta página oferece uma visão geral conceitual de como melhorar a performance da consulta de vetores com o índice ScaNN.
O índice ScaNN usa indexação baseada em quantização de árvore. Em técnicas de quantização
em árvore, os índices aprendem uma árvore de pesquisa com uma função de quantização (ou
hash). Quando você executa uma consulta, a árvore de pesquisa é usada para podar o
espaço de pesquisa, enquanto a quantização é usada para compactar o tamanho do índice. Essa poda
acelera a pontuação da similaridade (ou seja, distância) entre o vetor de consulta
e os vetores do banco de dados.
Para alcançar uma alta taxa de consultas por segundo (QPS)
e uma alta recuperação com as consultas de vizinho mais próximo, é necessário particionar
a árvore do índice ScaNN de uma forma mais adequada aos seus dados
e consultas.
Uma característica comum da geração atual de modelos de inserção de alta dimensionalidade é que eles ainda podem reter muitas informações com dimensionalidade muito menor. Por exemplo, 90% das informações podem ser retidas com apenas 20% das dimensões da inserção. Para acelerar esses conjuntos de dados, o AlloyDB ScaNN realiza automaticamente a redução de dimensão usando a análise de componentes principais (consulte scann.enable_pca abaixo) nos vetores indexados, o que reduz ainda mais o uso de CPU e memória para a pesquisa de vetores. Como a redução de dimensão ainda causa uma pequena perda de recuperação no índice, o AlloyDB ScaNN compensa isso com uma etapa inicial de classificação com um número maior de candidatos de vetores PCA do índice e, em seguida, os classifica novamente pelos vetores originais (consulte scann.pre_reordering_num_neighbors).
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-25 UTC."],[[["\u003cp\u003eScaNN index employs tree-quantization to accelerate vector similarity scoring by pruning the search space and compressing index size.\u003c/p\u003e\n"],["\u003cp\u003eOptimal tree partitioning in ScaNN is crucial for achieving high query-per-second rates and recall in nearest-neighbor queries.\u003c/p\u003e\n"],["\u003cp\u003eAlloyDB ScaNN automatically reduces dimensionality using Principal Component Analysis (PCA) to enhance speed and minimize resource consumption for high-dimensional embedding datasets.\u003c/p\u003e\n"],["\u003cp\u003eAlloyDB ScaNN compensates for recall loss from PCA by initially ranking a larger pool of PCA'ed vector candidates and subsequently re-ranking them using the original vectors.\u003c/p\u003e\n"]]],[],null,["# ScaNN vector query performance overview\n\nThis page gives a conceptual overview of improving vector query performance with the ScaNN Index.\n\nScaNN index uses tree-quantization based indexing. In Tree-quantization\ntechniques, indexes learn a search tree together with a quantization (or\nhashing) function. When you run a query, the search tree is used to prune the\nsearch space while quantization is used to compress the index size. This pruning\nspeeds up the scoring of the similarity (i.e., distance) between the query vector\nand the database vectors.\n\nTo achieve both a high query-per-second rate (QPS)\nand a high recall with your nearest-neighbor queries, you must partition\nthe tree of your `ScaNN` index in a way that is most appropriate to your data\nand your queries.\n\nA common characteristic of the current generation of high-dimensional embedding models is they can still retain much of the information at much lower dimensionality, for example 90% of the information can be retained with only 20% of the embedding's dimensions. To help speed up such datasets, AlloyDB ScaNN will automatically perform dimension reduction using Principal Component Analysis (see `scann.enable_pca` below) on the indexed vectors which further reduces cpu \\& memory usage for the vector search. Because dimension reduction still causes minor recall loss in the index, AlloyDB ScaNN compensates through an initial ranking step with a larger number of PCA'ed vector candidates from the index then re-ranking them by the original vectors (see `scann.pre_reordering_num_neighbors`).\n\nWhat's next\n-----------\n\n- [Get started with vector embeddings using AlloyDB AI](https://codelabs.developers.google.com/alloydb-ai-embedding#0)."]]