פריסה עם זמינות גבוהה
כשמשתמשים בשירות Agent Retrieval במספר אזורים ב-us, נהנים מהסכם SLA חזק יותר של זמינות הצגה, ומזמן פעולה תקינה רציף גם במקרה של הפסקה זמנית בשירות באזור מסוים.
האזור us במספר אזורים מספק את אותו API כמו שאר Agent Retrieval, עם כמה מגבלות. הנתונים שלכם במיקום us שכולל כמה אזורים משוכפלים לאזורים ברחבי ארצות הברית, ולכל האינדקסים הפעילים במיקום us שכולל כמה אזורים יש שרתים מיותרים שהוקצו בכל אחד מהאזורים האלה. בתנאי הפעלה רגילים, השאילתות שלכם מטופלות מהאזור שבו ללקוח הרשת יש זמן אחזור אופטימלי. במקרה של הפסקה זמנית בשירות או אובדן של קיבולת ההצגה, מאזן העומסים של Google יפנה את השאילתה לאזור הזמין הקרוב ביותר. ההגדרה והתחזוקה של איזון העומסים והשכפול מנוהלות באופן מלא על ידי Agent Retrieval.
הערה: בגלל המחויבות של משאבי החומרה וההנדסה שנדרשים כדי לתמוך ב-Agent Retrieval עם זמינות גבוהה, יכול להיות שפרויקטים של לקוחות יתווספו למספר אזורים עם זמינות גבוהה רק אחרי שהם ייבדקו באופן ספציפי ויתווספו לרשימת ההיתרים. כדי לבקש גישה לאזור במספר אזורים עם זמינות גבוהה, צריך למלא את טופס הבקשה שבקישור.
הדרכה למשתמשים חדשים
כדי לקבל גישה לאזור עם זמינות גבוהה במספר אזורים, צריך לבקש להיכלל ברשימת ההיתרים.
אחרי שתקבלו אישור שהפרויקט שלכם נוסף לרשימת ההיתרים לגישה למיקום במספר אזורים עם זמינות גבוהה, תוכלו ליצור אוספים, אובייקטים של נתונים ואינדקסים חדשים במיקום us במספר אזורים. פועלים לפי ההוראות הרגילות במאמרי העזרה של Agent Retrieval API, ומחליפים את us במקום שבו בדרך כלל מציינים אזור אחד (כמו us-central1 או europe-central2).
כל הנתונים שמועלים והפעולות שמבוצעות במיקום us שמוגדר למספר אזורים נהנים מרפליקציה משופרת, יתירות וזמינות גבוהה יותר.
חיוב
תעריפי החיוב של מיקום בכמה אזורים גבוהים יותר מאלה של מיקום רגיל באזור יחיד, ומשקפים את העלויות הגבוהות יותר של הרפליקציה ואת העדיפות התפעולית הגבוהה יותר.
לפרטים, ראו תמחור.
מגבלות
לא הוטמעה אופטימיזציה של האחסון. אפשר לפרוס רק אינדקסים ברמת Performance Optimized במיקום במספר אזורים.
קריאות של SearchDataObjects לאינדקסים של וקטורים מוטמעים לא מנורמלים עלולות לדווח על מדדי מרחק לא צפויים במיקום במספר אזורים. האחזור והדירוג של נקודות הנתונים מהאינדקסים האלה יהיו נכונים (במסגרת המגבלות של אינדקס השכן הקרוב ביותר המשוער). מומלץ תמיד לספק וקטורים מנורמלים של הטמעות, או להסתמך על יצירת הטמעות אוטומטית.
במיקום שכולל מספר אזורים, רק DOT_PRODUCT_DISTANCE נתמך.
אין תמיכה בהטמעות דלילות במיקום במספר אזורים. בבקשות לחיפוש וקטורי שבהן אסימונים ספציפיים חייבים להיות נוכחים בשדות מסוימים, אפשר להשתמש באופרטור $search בביטוי הסינון של הבקשה.
השדה Index.dedicated_infrastructure.autoscaling_spec בבקשות CreateIndex ו-UpdateIndex לא משמש במיקום שכולל מספר אזורים.
השדה SearchHint.IndexHint.dense_scann_params ב-SearchDataObjectsRequests לא משמש במיקום של מספר אזורים. אינדקסי ה-ANN במספר אזורים מכווננים כך שיספקו כ-95% שליפה, אבל השליפה עשויה להשתנות בהתאם לפרטים הספציפיים של הנתונים שלכם.
מעבר מפריסה אזורית
אם יש לכם נתונים באוסף אזורי של Agent Retrieval, אתם יכולים להשתמש בתהליך העבודה הכללי הבא כדי לשכפל את הנתונים האלה למיקום us:
- מייצאים את נתוני האוסף לקטגוריה באזור שבו האוסף מתארח, ומסירים את תגי ה-ETag.
- מייבאים מהקטגוריה לאוסף שמתארח במיקום
us.
לפני שמתחילים
ודאו שיש לכם:
- קטגוריה באזור המקור, שתשמש כסביבת Staging לייצוא.
- ה-CLI של
gcloudמותקן. - הרשאת IAM לקריאה באוסף המקור, לכתיבה ביעד ולקריאה ולכתיבה בקטגוריה.
- אוסף יעד שכבר נוצר ב-
usעם סכימה זהה לזו של המקור.
PROJECT_ID: הפרויקט שמכיל את האוסף שרוצים להעביר. בפקודות הבאות, פרויקט המקור ופרויקט היעד זהים.
SOURCE_LOCATION: המיקום של אוסף המקור, למשל us-central1.
SOURCE_COLLECTION: שם האוסף שרוצים להעביר.
STAGING_BUCKET: הנתיב לספרייה בתוך קטגוריה שאליה רוצים לייצא את נתוני האוסף, למשל gs://your-bucket-id.
שלבים
אפשר להעתיק ולהדביק כל קטע קוד. מחליפים את ה-placeholders שבראש כל בלוק בערכים שספציפיים לפרויקט, למיקום המקור, לאוסף ולקטגוריות שלכם.
1. ייצוא מאזור המקור
cat > request.json <<EOF
{
"gcsDestination": {
"exportUri": "STAGING_BUCKET/export/",
"format": "JSONL"
},
"field_filter": {
"excluded_fields": {
"fields": ["etag"]
}
}
}
EOF
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vectorsearch.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_LOCATION/collections/SOURCE_COLLECTION:exportDataObjects"
התשובה כוללת שם פעולה כמו projects/.../locations/us-central1/operations/operation-.... ממשיכים לדגום עד
"done": true.
EXPORT_OPERATION_NAME
gcloud vector-search operations describe "EXPORT_OPERATION_NAME" \
--location="SOURCE_LOCATION"
2. ייבוא לארה"ב
DEST_COLLECTION: שם האוסף אחרי ההעברה (יכול להיות זהה לשם המקורי).
gcloud vector-search collections import-data-objects "DEST_COLLECTION" \
--location="us" \
--project="PROJECT_ID" \
--gcs-import-contents-uri="STAGING_BUCKET/export/" \
--gcs-import-error-uri="STAGING_BUCKET/import-errors/" \
--gcs-import-output-uri="STAGING_BUCKET/import-output/" \
--async
מבצעים סקר לפעולה שהוחזרה באותו אופן כמו הייצוא:
IMPORT_OPERATION_NAME
gcloud vector-search operations describe "IMPORT_OPERATION_NAME" \
--location="us"
3. אימות הייבוא
- בודקים אם יש רשומות שנדחו ב-
gs://your-bucket-uscentral1/import-errors/. - השוו בין מספר הרשומות במקור לבין מספר הרשומות ביעד.
- מריצים כמה שאילתות מוכרות בשני המקורות ומשווים בין התוצאות.