בעוד יישומים המונעים על ידי ה-AI עולים מהניסוי למערכות הייצור בזמן אמת, הציפיות שמוטלות על חיפוש דמיון וקטור ממשיכות לעלות באופן דרמטי.הצוותים צריכים כעת לתמוך במערכות נתונים בקנה מידה של מיליארדים, תואמות גבוהה, תקציבי עיכוב p99 קפדניים, ודרגה של פשוטות תפעולית שמפחית את עלויות האדריכלות במקום להוסיף אליה. ScyllaDB Vector Search נבנה עם המגבלות הללו בחשבון.הוא מציע מנוע מאוחסן לאחסון נתונים מובנים לצד השבבים הלא מובנים, והוא משיג ביצועים שמדביקים את הגבולות של מה שמערכת מסדי נתונים מובנה יכולה לספק בקנה מידה.התוצאות של מדד ההשוואה שלנו לאחרונה בגודל גבוה של 1 מיליארד וקטורים מראים ש- ScyllaDB מראה הן אינטנסיביות נמוכה מאוד והן התנהגות צפויה מאוד תחת עומס. ארכיטקטורה במבט כדי להשיג ביצועים נמוכים במילישניות אחת על פני קבוצות וקטורים גדולות, ScyllaDB משתמשת בארכיטקטורה המפרידה בין האחריות לאחסון והאינדקס תוך שמירה על המערכת מאוחדת מנקודת המבט של המשתמש. הצמתים של ScyllaDB מאחסנים הן את המאפיינים המורכבים והן את השבטים הווקטוריים באותו טבלה מפוזרת. בינתיים, שירות Vector Store ייעודי – מיושם ב-Rust ומופעל על-ידי מנוע USearch אופטימליזציה כדי לתמוך באינטנסיות המילישניות האפשריות של ScyllaDB – צורך עדכונים מ- ScyllaDB דרך CDC ומבנה אינדקסים של שכנים קרובים (ANN) בזיכרון SELECT … ORDER BY vector_column ANN_OF ? LIMIT k; לאחר מכן הם מועברים באופן פנימי לחנות ה-Vector, אשר מבצעת את חיפוש הדמיון ומחזירה את שורות המועמדים.העיצוב הזה מאפשר לכל שכבה להגדיר באופן עצמאי, אופטימיזציה עבור מאפייני עומס העבודה שלה ולמנוע הפרעות משאבים. Benchmarking של מיליארד וקטורים כדי להעריך את הביצועים בעולם האמיתי, ScyllaDB פעל באמצעות קבוצת הנתונים Yandex-deep_1b הזמינה לציבור, המכילה 1 מיליארד וקטורים של 96 מימדים. ההתקנה מורכבת משש כוכבים: שלושה כוכבים של ScyllaDB המופעלים על מקורות i4i.16xlarge, כל אחד מצויד עם 64 vCPUs, ושלושה כוכבים של Vector Store המופעלים על מקרים של r7i.48xlarge, כל אחד עם 192 vCPUs. הגדרת חומרה זו משקפת יישומי ייצור מציאותיים שבהם רמות האינדקס של מסד הנתונים והקטורים מסופקות עם פרופילים של משאבים שונים. Benchmark קפדני צלילה מלאה של ארכיטקטורה עמוקה, הכוללת תרשימים, פשרה ביצועים, תוצאות ביקורות מורחבות עבור קבוצות נתונים ממדים גבוהים יותר, ניתן למצוא בפוסט הבלוג הטכני. תוצאות נוספות אלה עוקבות אחר אותו דפוס שנצפה במבחנים 96-ממדיים: עיכוב נמוך יוצא דופן, עוצמה גבוהה ויציבות במגוון רחב של פרופילים של עומס מקבילים. בניית מנוע חיפוש וקטור באיחור נמוך עבור ScyllaDB בניית מנוע חיפוש וקטור באיחור נמוך עבור ScyllaDB תסריט #1 – אינטנסיביות נמוכה מאוד עם זיכוי מתון התרחיש הראשון תוכנן עבור עומסי עבודה כגון מנועי המלצה ומערכות אישית בזמן אמת, שבהם המטרה העיקרית היא עיכוב נמוך מאוד וההזמנה יכולה להיות רגועה בממוצע. עם כ -70% מההזכרות ועם 30 חיפושים מקבילים, המערכת שמרה על עיכוב p99 של רק 1.7 מילישניות ו p50 של רק 1.2 מילישניות, תוך שמירה על 25,000 שאילתות לשנייה. בעת הרחבת חלון התפשטות (עדיין שמירה על אטימות p99 מתחת ל-10 מילישניות), הקבוצה הגיעה ל- 60,000 QPS עבור k = 100 עם אטימות p50 של 4.5 מילישניות, ו- 252,000 QPS עבור k = 10 עם אטימות p50 של 2.2 מילישניות. תסריט #2 – זיכרון גבוה עם עיכוב קטן יותר התרחיש השני מכוון למערכות הדורשות חזרה כמעט מושלמת, כולל חיפוש סמנטי אמינות גבוהה ונושאי ייצור מוגדרים על-ידי חיפוש. כאן, הפרמטרים של האינדקס גדלו באופן משמעותי ל-m = 64, ef-construction = 512, ו-ef-search = 512. עם 50 חיפושים מקבילים וזיכרונות מתקרבים ל-98%, ScyllaDB שמרה על טעינת p99 מתחת ל- 12 מילישניות ו- p50 על 8 מילישניות תוך כדי מתן 6,500 QPS. בעת העברת המוקד לביצועים מקסימליים מתמשכים תוך שמירה על טעינת p99 מתחת ל- 20 מילישניות ו- p50 מתחת ל- 10 מילישניות, המערכת השיגה 16,600 QPS. גם תחת הגדרות אלה, הטעינה נשארה יציבה במיוחד בין ערכי k מ- 10 ל- 100, מה שמראה התנהגות צפויה בסביבות שבהן גבולות שאילתות משתנים דינמית. תוצאות מפורטות הטבלה הבאה מציגה סיכום של התוצאות עבור כמה רמות תחרות מייצגות. חיפוש וקטור מאוחדת ללא המורכבות יתרון גדול של שילוב Vector Search עם ScyllaDB הוא כי הוא מספק יתרונות ביצועים משמעותיים ועלויות רשתות. חנות וקטור מתגוררת קרוב לנתונים עם רק קפיצת רשת אחת בין מטא-נתונים לאחסון מוטבע באותו אזור זמינות. מיקום זה, בשילוב עם המודל של ScyllaDB shard-per-core ביצועים, מאפשרת למערכת לספק עיכוב בזמן אמת ועוצמה עצומה גם תחת עומס כבד. בנוסף להיות מהיר בקנה מידה, חיפוש וקטור של ScyllaDB הוא גם קל יותר לפעול. היתרון העיקרי שלה הוא היכולת שלה לאחד חיפוש מבוסס ולא מבוסס בתוך קבוצת נתונים אחת. זה אומר שאתה יכול לאחסן תכונות מסורתיות ובהתבניות וקטור בצד ולבטח שאילתות שמשלבות חיפוש סמנטי עם חיפוש קונבנציונלי. לדוגמה, אתה יכול לבקש את המסד הנתונים "למצוא את חמשת המסמכים העליונים ביותר דומים, אבל רק אלה שייכים ללקוח ספציפי זה ונוצרו בתוך 30 הימים האחרונים." גישה זו מבטלת את הכאב הנפוץ של שמירה על מערכות נפרדות עבור נתונים עסקיים וחיפוש וקטור, והוא מסיר את החלשות התפעוליות הקשורות לסינ זה גם אומר שאין תנועה ETL ואין סיכון כתיבה כפולה. במקום לשלוח מוטבעות למסד נתונים וקטורי נפרד תוך שמירה על מטא-נתונים בחנות עסקית, ScyllaDB מאחד את הכל למערכת אחת. מבחינה תפעולית, ScyllaDB פשוטה את כל קובץ החיפוש. מכיוון שהוא בנוי על ארכיטקטורת ההפצה המוכחת של ScyllaDB, המערכת זמינה מאוד, מתוחכמת באופן אופקי, ועמידה בכל אזורי זמינות.במקום לפעול בשתי או שלוש טכנולוגיות שונות - כל אחת עם מעקב משלה, הגדרות אבטחה, ומצבי כישלון - אתה מנהל רק אחת. מפת הדרכים המוצר נמצא כעת ב-General Availability.This includes Cloud Portal provisioning, on-demand billing, a full range of instance types, and additional performance optimizations. Self-service scaling is planned for Q1. By the end of Q1 we will introduce native filtering capabilities, allowing vector search queries to combine ANN results with traditional predicates for more precise hybrid retrieval. במבט קדימה, מפת הדרכים כוללת תמיכה בקוונטיזציה סקלרית ובינארית כדי להפחית את השימוש בזיכרון, פונקציונליות TTL עבור אוטומציה מחזור החיים של נתונים וקטוריים, וחיפוש היברידי משולב המשלב ANN עם BM25 עבור רלוונטיות לקסונית וסמנטית מאוחדת. מסקנה ScyllaDB הוכיחה כי היא מסוגלת לספק ביצועים מובילים בתעשייה עבור חיפוש וקטורים בקנה מידה גדול, לנהל קבוצת נתונים של מיליארד וקטורים עם עתירות p99 נמוכה עד 1.7 מילישניות וביצועים של עד 252,000 QPS. המדיניות הנוכחית מציגה את המצב הנוכחי של יכולת הפיתוח של ScyllaDB. עם שיפורים מתוכננים במפה הקרובה, כולל קואנטיזציה סקלארית ו- Sharding, גבולות הביצועים הללו צפויים לעלות בשנה הבאה.