בדף הזה מפורטים התכונות והמגבלות של חיפוש וקטורי.
זמינות
חיפוש וקטורי זמין בכל הגרסאות של Memorystore for Valkey בכל הרמות ובכל האזורים הנתמכים.
רק מקרים שנוצרו אחרי תאריך ההשקה, 13 בספטמבר 2024, כוללים את האפשרות של חיפוש וקטורי.
הגבלות על אינדקסים
בהמשך מפורטות המגבלות של האינדקס:
- המספר המקסימלי של מאפיינים באינדקס לא יכול להיות יותר מ-10.
- המימד של וקטור לא יכול להיות גדול מ-32,768.
- הערך M של HNSW לא יכול להיות גדול מ-2M.
- הערך של EF Construct עבור HNSW לא יכול להיות גדול מ-4096.
- הערך של זמן הריצה של EF עבור HNSW לא יכול להיות גדול מ-4,096.
השפעות על הביצועים
כשבוחנים את הביצועים של חיפוש וקטורי, יש כמה משתנים חשובים שכדאי לקחת בחשבון.
סוג הצומת
חיפוש וקטורי מאפשר הרחבה אנכית באמצעות שילוב של מאגרי שרשורים שמוקדשים להרצת פעולות של חיפוש וקטורי. המשמעות היא שהביצועים יהיו קשורים למספר ליבות ה-CPU הווירטואליות בכל צומת באשכול. לפרטים על מספר ליבות ה-vCPU שזמינות בכל סוג צומת, אפשר לעיין במאמר מפרט של אשכול וצומת.
מספר הרסיסים
ב-Memorystore for Valkey מיושמת טכניקת אינדוקס מקומית לכל הווקטורים. כלומר, האינדקס שמאוחסן בכל רסיס מכיל רק את המסמכים שנמצאים ברסיס הזה. לכן, מהירות האינדוקס ומספר הווקטורים הכולל יגדלו באופן לינארי עם מספר הרסיסים באשכול.
מכיוון שכל אינדקס מקומי מכיל רק את התוכן של רסיס אחד, כדי לחפש באשכול צריך לחפש בכל רסיס באשכול ולצבור את התוצאות. אם יש כמות יציבה של וקטורים, הגדלת מספר הרסיסים תשפר את ביצועי החיפוש באופן לוגריתמי במדדי HNSW ובאופן לינארי במדדי FLAT, כי כל מדד מקומי יכיל פחות וקטורים.
שימו לב: ככל שמוסיפים יותר רסיסים, כך גדל נפח העבודה שנדרש כדי לחפש בכל הרסיסים, ולכן יכול להיות שזמן האחזור שיידרש להשלמת בקשת חיפוש מסוימת יתארך. למרות זאת, אפילו האשכולות הגדולים ביותר תומכים בחביון של מילישניות עם ספרה אחת.
מספר העותקים המשוכפלים
הוספה של רפליקות נוספות תגדיל את נפח התפוקה של החיפוש באופן לינארי, כי היא תאפשר איזון עומסים של בקשות חיפוש לרפליקות לקריאה.
שינוי גודל של אירועים
כשמשנים את הגודל של מופע Memorystore for Valkey, המסמכים באינדקסים מועברים כדי לפזר את הנתונים באופן אחיד בין מספר הרסיסים החדש. במקרים כאלה, מסמכים שמועברים בין צמתים יאונדקסו ברקע. אחרי שהפעולה של שינוי הגודל מסתיימת, אפשר לעקוב אחרי הערך של mutation_queue_size בפלט של FT.INFO כדי לראות את התקדמות האינדוקס מחדש בעקבות שינוי הגודל של האשכול.
צריכת זיכרון
הווקטורים משוכפלים, ונשמרים גם במרחב המפתחות וגם באלגוריתם של חיפוש וקטורים.
טרנזקציות
בגלל האופי האסינכרוני של ביצוע משימות על ידי מאגרי שרשורים, פעולות חיפוש וקטורי לא פועלות לפי סמנטיקה טרנזקציונלית.