מדדים של אינדקס וקטורים

בוחרים גרסת תיעוד:

בדף הזה מפורטים המדדים שקשורים לאינדקסים הווקטוריים שאתם יוצרים ב-AlloyDB Omni. אפשר לראות את המדדים האלה בתצוגה pg_stat_ann_indexes שזמינה כשמתקינים את התוסף alloydb_scann.

מידע נוסף על הצגת המדדים זמין במאמר הצגת מדדים של אינדקס וקטורי.

מדדי נוחות שימוש

מדדי השימושיות כוללים מדדים שעוזרים להבין את מצב השימוש באינדקס באמצעות מדדים כמו הגדרת האינדקס ומספר הסריקות של האינדקס.

שם המדד סוג נתונים תיאור
relid OID מזהה ייחודי של הטבלה שמכילה את אינדקס הווקטור
indexrelid OID מזהה ייחודי של אינדקס הווקטורים
schemaname NAME שם הסכימה שבבעלותה האינדקס
relname NAME שם הטבלה שמכילה את האינדקס
indexrelname NAME שם האינדקס
indextype NAME סוג האינדקס. הערך הזה תמיד מוגדר ל-alloydb_scann
indexconfig TEXT[] הגדרות, כמו ספירת העלים והקוונטיזטור, שהוגדרו לאינדקס כשהוא נוצר
indexsize TEXT גודל האינדקס
indexscan BIGINT מספר סריקות האינדקס שהתחילו באינדקס
partitioncount BIGINT מספר המחיצות (צמתי עלים) בעץ.

מדדי כוונון

מדדי הכוונון מספקים תובנות לגבי האופטימיזציה הנוכחית של האינדקס, ומאפשרים לכם ליישם המלצות לביצועים מהירים יותר של שאילתות.

שם המדד סוג נתונים תיאור
insertcount BIGINT מספר פעולות ההוספה באינדקס. המדד הזה כולל גם את מספר השורות שהיו קיימות לפני שהאינדקס נוצר.
updatecount BIGINT מספר פעולות העדכון באינדקס. המדד הזה לא מביא בחשבון עדכונים של HOT.
deletecount BIGINT מספר פעולות המחיקה באינדקס.
distribution JSONB התפלגות הווקטורים בכל המחיצות של האינדקס.

ההתפלגות מוצגת בשדות הבאים:
  • ‫maximum (INT8): המספר המקסימלי של וקטורים בכל המחיצות.
  • ‫minimum (INT8): מספר הווקטורים המינימלי בכל המחיצות.
  • ‫average (FLOAT) : המספר הממוצע של הווקטורים בכל המחיצות.
  • ‫outliers (INT8[]): חריגות עליונות בכל המחיצות. הערך הזה מציג את 20 החריגים המובילים.

הערה: בגלל המאפיינים המובנים של אלגוריתם האשכולות K-means, תמיד יהיה מידה מסוימת של שונות בחלוקת הווקטורים בין המחיצות, גם כשיוצרים את האינדקס בפעם הראשונה.

המלצות לכוונון על סמך המדדים

מוטציה
המדדים insertcount,‏ updatecount ו-deletecount מציגים יחד את השינויים או המוטציות בווקטור של האינדקס.
האינדקס נוצר עם מספר ספציפי של וקטורים ומחיצות. כשמבצעים פעולות כמו הוספה, עדכון או מחיקה באינדקס הווקטורי, הן משפיעות רק על קבוצת המחיצות הראשונית שבה נמצאים הווקטורים. כתוצאה מכך, מספר הווקטורים בכל מחיצה משתנה לאורך הזמן, וזה יכול להשפיע על ה-recall, על ה-QPS או על שניהם.
אם אתם נתקלים באיטיות או בבעיות דיוק, כמו מספר נמוך של QPS או recall נמוך, בשאילתות החיפוש של ANN לאורך זמן, כדאי לבדוק את המדדים האלה. מספר גבוה של מוטציות ביחס למספר הכולל של הווקטורים יכול להצביע על הצורך ביצירת אינדקס מחדש.
הפצה
המדד distribution מציג את התפלגות הווקטורים בכל המחיצות.
כשיוצרים אינדקס, הוא נוצר עם מספר ספציפי של וקטורים ומחיצות קבועות. תהליך החלוקה למחיצות וההפצה שמתבצעים לאחר מכן מתבססים על השיקול הזה. אם מוסיפים עוד וקטורים, הם מחולקים בין המחיצות הקיימות, וכתוצאה מכך נוצרת התפלגות שונה בהשוואה להתפלגות שהייתה כשהאינדקס נוצר. מכיוון שהחלוקה הסופית לא מתבצעת על כל הווקטורים בו-זמנית, יכול להיות שההיזכרות, השאילתות לשנייה או שניהם יושפעו.
אם אתם מבחינים בירידה הדרגתית בביצועים של שאילתות החיפוש של ANN, כמו זמני תגובה איטיים יותר או דיוק מופחת בתוצאות (נמדד לפי QPS או אחזור), כדאי לבדוק את המדד הזה וליצור אינדקס מחדש.