בדף הזה יש סקירה כללית של שיפור הביצועים של שאילתות וקטוריות באמצעות אינדקס ScaNN.
אינדקס ScaNN משתמש באינדקס מבוסס-קוונטיזציה של עצים. בטכניקות של קוונטיזציה של עצים, האינדקסים לומדים עץ חיפוש יחד עם פונקציית קוונטיזציה (או גיבוב). כשמריצים שאילתה, עץ החיפוש משמש לגיזום מרחב החיפוש, והקוונטיזציה משמשת לדחיסת גודל האינדקס. הגיזום הזה מאיץ את הניקוד של הדמיון (כלומר, המרחק) בין וקטור השאילתה לבין וקטורי מסד הנתונים.
כדי להשיג גם שיעור גבוה של שאילתות לשנייה (QPS) וגם שיעור גבוה של אחזור נתונים בשאילתות של השכן הקרוב ביותר, צריך לבצע חלוקה למחיצות של עץ האינדקס ScaNN באופן המתאים ביותר לנתונים ולשאילתות.
מאפיין נפוץ של הדור הנוכחי של מודלים להטמעה במרחב רב-ממדי הוא שהם עדיין יכולים לשמר חלק גדול מהמידע במרחב ממדיות נמוך בהרבה. לדוגמה, אפשר לשמר 90% מהמידע עם 20% בלבד מהממדים של ההטמעה. כדי לעזור להאיץ את מערכי הנתונים האלה, AlloyDB ScaNN יבצע באופן אוטומטי צמצום ממדים באמצעות ניתוח רכיבים ראשיים (PCA) (ראו scann.enable_pca בהמשך) על הווקטורים המאונדקסים, מה שיקטין עוד יותר את השימוש במעבד ובשימוש בזיכרון לחיפוש הווקטורים. מכיוון שהפחתת המימדים עדיין גורמת לאובדן קל של נתונים באינדקס, AlloyDB ScaNN מפצה על כך באמצעות שלב דירוג ראשוני עם מספר גדול יותר של וקטורים מועמדים שעברו PCA מהאינדקס, ואז דירוג מחדש שלהם לפי הווקטורים המקוריים (ראו scann.pre_reordering_num_neighbors).