Descripción general del rendimiento de las consultas de vectores de ScaNN
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta página, se proporciona una descripción general conceptual para mejorar el rendimiento de las consultas vectoriales con el índice ScaNN.
El índice de ScaNN usa la indexación basada en la cuantificación de árboles. En las técnicas de cuantificación de árboles, los índices aprenden un árbol de búsqueda junto con una función de cuantificación (o hash). Cuando ejecutas una consulta, el árbol de búsqueda se usa para reducir el espacio de búsqueda, mientras que la cuantificación se usa para comprimir el tamaño del índice. Esta poda acelera la puntuación de la similitud (es decir, la distancia) entre el vector de consulta y los vectores de la base de datos.
Para lograr una alta tasa de consultas por segundo (QPS) y una alta recuperación con tus consultas de vecino más cercano, debes particionar el árbol de tu índice ScaNN de la manera más adecuada para tus datos y tus consultas.
Una característica común de la generación actual de modelos de incorporación de alta dimensión es que aún pueden retener gran parte de la información con una dimensionalidad mucho más baja, por ejemplo, el 90% de la información se puede retener con solo el 20% de las dimensiones de la incorporación. Para acelerar estos conjuntos de datos, AlloyDB ScaNN realizará automáticamente la reducción de dimensiones mediante el análisis de componentes principales (consulta scann.enable_pca a continuación) en los vectores indexados, lo que reduce aún más el uso de la CPU y la memoria para la búsqueda de vectores. Debido a que la reducción de dimensiones aún causa una pérdida menor de recuperación en el índice, AlloyDB ScaNN compensa a través de un paso de clasificación inicial con una mayor cantidad de candidatos de vectores PCA del índice y, luego, los vuelve a clasificar según los vectores originales (consulta scann.pre_reordering_num_neighbors).
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (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)."]]