O índice ScaNN usa indexação baseada em quantização de árvore, em que os índices aprendem
uma árvore de pesquisa junto com uma função de quantização (ou hash). Quando você executa uma consulta, a árvore de pesquisa é usada para reduzir o espaço de pesquisa, e a quantização é usada para compactar o tamanho do índice. Essa remoção acelera a pontuação da similaridade (ou seja, a 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 um alto recall com suas consultas de vizinho mais próximo, particione a árvore do seu índice ScaNN da maneira mais adequada aos seus dados e consultas.
Os modelos de incorporação de alta dimensão podem reter grande parte das informações em uma dimensão muito menor. Por exemplo, é possível reter 90% das informações com apenas 20% das dimensões do encadeamento. Para ajudar a acelerar esses conjuntos de dados, o índice ScaNN da IA do AlloyDB realiza automaticamente a redução de dimensão usando a análise de componentes principais (PCA) nos vetores indexados, o que reduz ainda mais o uso de CPU e memória para a pesquisa vetorial. Para mais informações, consulte scann.enable_pca.
Como a redução de dimensionalidade causa uma pequena perda de recall no índice, o índice ScaNN da IA do AlloyDB compensa essa perda realizando primeiro uma etapa de classificação com um número maior de candidatos a vetores PCA do índice. Em seguida, o ScaNN reclassifica os candidatos a vetores PCAed pelos vetores originais.
Para ver mais informações, 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-09-05 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,["Select a documentation version: Current (16.8.0)keyboard_arrow_down\n\n- [Current (16.8.0)](/alloydb/omni/current/docs/ai/scann-vector-query-perf-overview)\n- [16.8.0](/alloydb/omni/16.8.0/docs/ai/scann-vector-query-perf-overview)\n- [16.3.0](/alloydb/omni/16.3.0/docs/ai/scann-vector-query-perf-overview)\n- [15.12.0](/alloydb/omni/15.12.0/docs/ai/scann-vector-query-perf-overview)\n- [15.7.1](/alloydb/omni/15.7.1/docs/ai/scann-vector-query-perf-overview)\n- [15.7.0](/alloydb/omni/15.7.0/docs/ai/scann-vector-query-perf-overview)\n\n\u003cbr /\u003e\n\nThis page provides a conceptual overview of improving vector query performance using AlloyDB AI's Scalable Nearest Neighbor (ScaNN) index. For more information, see [Create indexes and query vectors](/alloydb/omni/current/docs/ai/store-index-query-vectors?resource=scann).\n\n\u003cbr /\u003e\n\nThe ScaNN index uses tree-quantization-based indexing, in which indexes learn\na search tree together with a quantization (or hashing) function. When you run\na 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---in other words, the distance---between\nthe query vector and 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\nHigh-dimensional embedding models can retain much of the information at much\nlower dimensionality. For example, you can retain 90% of the information with\nonly 20% of the embedding's dimensions. To help speed up such datasets,\nthe AlloyDB AI ScaNN index automatically performs dimension reduction\nusing [Principal Component Analysis](https://en.wikipedia.org/wiki/Principal_component_analysis)\n(PCA) on the indexed vectors, which further reduces CPU and memory usage for\nthe vector search. For more information, see\n[`scann.enable_pca`](/alloydb/omni/current/docs/reference/scann-index-reference).\n\nBecause dimension reduction causes minor recall loss in the index, the\nAlloyDB AI ScaNN index compensates for recall loss\nby first performing a ranking\nstep with a larger number of PCAed vector candidates from the index. Then,\nScaNN re-ranks the PCAed vector candidates by the original vectors.\nFor more information, see [`scann.pre_reordering_num_neighbors`](/alloydb/omni/current/docs/reference/scann-index-reference).\n\nWhat's next\n\n- Learn [best practices for tuning ScaNN indexes](/alloydb/omni/current/docs/ai/best-practices-tuning-scann).\n- [Get started with vector embeddings using AlloyDB AI](https://codelabs.developers.google.com/alloydb-ai-embedding#0).\n- Learn more about the [AlloyDB AI ScaNN index](https://cloud.google.com/blog/products/databases/understanding-the-scann-index-in-alloydb?e=48754805)."]]