Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite erhalten Sie einen konzeptionellen Überblick darüber, wie Sie die Leistung von Vektorabfragen mit dem ScaNN-Index verbessern können.
Der ScaNN-Index verwendet eine Indexierung, die auf der Quantisierung von Bäumen basiert. Bei der Baumquantisierung lernen Indexe einen Suchbaum zusammen mit einer Quantisierungs- (oder Hash-) Funktion. Wenn Sie eine Abfrage ausführen, wird der Suchbaum verwendet, um den Suchraum zu beschneiden, während die Quantisierung verwendet wird, um die Indexgröße zu komprimieren. Durch diese Beschneidung wird die Bewertung der Ähnlichkeit (d.h. der Distanz) zwischen dem Abfragevektor und den Datenbankvektoren beschleunigt.
Wenn Sie sowohl eine hohe Abfragerate pro Sekunde (QPS) als auch eine hohe Trefferquote bei Abfragen nach dem nächsten Nachbarn erzielen möchten, müssen Sie den Baum Ihres ScaNN-Index so partitionieren, dass er am besten zu Ihren Daten und Abfragen passt.
Ein gemeinsames Merkmal der aktuellen Generation hochdimensionaler Einbettungsmodelle ist, dass sie bei viel niedrigerer Dimensionalität immer noch viele Informationen beibehalten können. So können beispielsweise 90% der Informationen mit nur 20% der Dimensionen des Embeddings beibehalten werden. Um solche Datensätze zu beschleunigen, führt AlloyDB ScaNN automatisch eine Dimensionsreduktion mithilfe der Hauptkomponentenanalyse (siehe scann.enable_pca unten) an den indexierten Vektoren durch, wodurch die CPU- und Speichernutzung für die Vektorsuche weiter reduziert wird. Da die Dimensionsreduzierung immer noch zu einem geringen Rückrufverlust im Index führt, kompensiert AlloyDB ScaNN dies durch einen anfänglichen Ranking-Schritt mit einer größeren Anzahl von PCA-vektorbasierten Kandidaten aus dem Index, die dann anhand der ursprünglichen Vektoren neu sortiert werden (siehe scann.pre_reordering_num_neighbors).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 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)."]]