Rapid Bucket

בדף הזה מוסבר על Rapid Bucket, יכולת שמאפשרת לאחסן אובייקטים בסוג האחסון Rapid על ידי הגדרת אזור כמיקום של קטגוריה. הגישה הזו מאפשרת לכם למקם את מאגר הנתונים באותו מקום שבו נמצאים משאבי המחשוב, וכך לקבל זמן אחזור קצר משמעותית ותפוקה גבוהה יותר בהשוואה לסוגי אחסון אחרים ב-Cloud Storage. גם עומסי עבודה באזורים אחרים יכולים לגשת לקטגוריה, והביצועים יהיו בהתאם למרחק ברשת.

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

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

יכולות ויתרונות

‫Rapid Bucket נועד להסיר צווארי בקבוק באחסון, והוא אידיאלי לשימוש באפליקציות שדורשות הרבה נתונים, כמו AI, למידת מכונה וניתוח נתונים. ‫Rapid Bucket תומך בזמן אחזור של פחות מאלפית השנייה, קצב העברת נתונים מצטבר של עד 15TB לשנייה ו-20 מיליון שאילתות לשנייה (QPS). זמן טעינה קצר במיוחד מאפשר לאחזר נתונים באופן מיידי, ומאפשר לאפליקציות של הסקת מסקנות בזמן אמת לפעול בקנה מידה נרחב. התפוקה העצומה וה-QPS הגבוה עוזרים לשמור על רוויה מלאה של אשכולות ה-GPU היקרים, וכך מקצרים באופן משמעותי את זמני האימון של המודלים.

בנוסף לזמן אחזור נמוך ולתפוקה גבוהה, באחסון בדליים אזוריים אפשר:

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

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

תרחישים לדוגמה

השימוש ב-Rapid Bucket מתאים במיוחד לעומסי עבודה של AI/ML או לעומסי עבודה אחרים שדורשים הרבה נתונים. דוגמאות לעומסי עבודה כאלה הן נקודות בקרה, הערכה והצגה של מודלים, וגם רישום ביומן ותורי הודעות. אפשר להשתמש בו גם להזרמת נתונים או לאחסון מסדי נתונים.

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

מונחים שקשורים ל-Rapid Bucket

במסמכי התיעוד של Cloud Storage משתמשים במונחים הבאים:

  • ‫Rapid Bucket: מוצר שמאפשר ליצור קטגוריות עם מיקום אזורי וסוג האחסון Rapid.

  • ‫Rapid Storage: סוג האחסון שמציע את הביצועים הכי טובים של גישה לנתונים ופעולות קלט/פלט ב-Cloud Storage. כשמשתמשים ב-Rapid Bucket, יוצרים קטגוריה שמשתמשת ב-Rapid Storage. מידע נוסף על Rapid Storage זמין במאמר סוגי אחסון.

  • קטגוריה של תחום מוגדר: קטגוריה שנמצאת בתחום מסוים. אובייקטים בקטגוריות אזוריות תמיד מאוחסנים ב-Rapid Storage, ואפשר להוסיף להם נתונים.

גישה לאובייקטים בקטגוריות אזוריות

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

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

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

הוספת אובייקטים

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

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

  • אין הגבלות על מספר פעולות ה-append שאפשר לבצע באובייקט, או על מספר הבייטים שאפשר להוסיף בכל פעם. אפשר להוסיף נתונים עד שהאובייקט מגיע לגודל המקסימלי של ‎5 TiB.

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

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

השלמת אובייקטים

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

טעינת קטגוריות אזוריות

אפשר לטעון קטגוריות אזוריות ולגשת אליהן באמצעות Cloud Storage FUSE או מנהל התקן ה-CSI של Cloud Storage FUSE. חשוב להשתמש ב-Cloud Storage FUSE בגרסה 3.7.2 ואילך. כדי להשתמש במנהל התקן ה-CSI של Cloud Storage FUSE, גרסת Google Kubernetes Engine צריכה להיות ‎1.35.0-gke.3047001‎ או גרסה חדשה יותר.

כלים נתמכים

אפשר לעבוד עם קטגוריות אזוריות באמצעות רוב הכלים של Cloud Storage. עם זאת, יש כמה מגבלות:

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

  • אפשר לקרוא אובייקטים בקטגוריות אזוריות באמצעות API בפורמט JSON, API בפורמט XML או gRPC, כולל שיטות קריאה לא דו-כיווניות של gRPC כמו ReadObject.

  • התמיכה בכתיבה לדליים אזוריים משתנה בהתאם ל-API:

    • ‫gRPC: כשמשתמשים ב-gRPC, אפשר לכתוב רק לקטגוריות אזוריות באמצעות BidiWriteObject API. אובייקטים שניתן לצרף נתמכים רק על ידי קריאת ה-RPC‏ BidiWriteObject במצב צירוף. שיטות כתיבה של gRPC שהן לא דו-כיווניות, כמו WriteObject, לא נתמכות בקטגוריות אזוריות.

    • ‫API בפורמט XML: אתם יכולים לכתוב לקטגוריות אזוריות באמצעות API בפורמט XML, חוץ מהעלאות מרובות חלקים בפורמט XML.

    • ‫API בפורמט JSON: אי אפשר לכתוב לקטגוריות אזוריות באמצעות ה-API בפורמט JSON.

  • ‫Rapid Bucket נתמך בגרסאות 2026.3.0 ואילך של ספריית Python‏ GCSFS.

  • מגבלות Google Cloud CLI:

    • הגרסה המינימלית הנתמכת של Google Cloud CLI: הגרסה המינימלית של ה-CLI של gcloud שתומכת בקטגוריות אזוריות היא 553.0.0. גרסאות קודמות לא תואמות לקטגוריות אזוריות. מומלץ להשתמש בגרסה העדכנית של ה-CLI של gcloud כדי לקבל את התכונות העדכניות ותיקוני הבאגים. כדי להוריד אובייקטים בפרוסות ולבצע אופטימיזציות של ביצועים בדליים אזוריים, צריך להשתמש ב-CLI של gcloud בגרסה 583.0.0 ואילך. מידע נוסף זמין במאמר כוונון הביצועים של ה-CLI של gcloud לקטגוריות אזוריות.

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

    • החלפת אובייקטים: ההתנהגות הרגילה של Google Cloud CLI חלה על קטגוריות אזוריות: כשמחליפים אובייקט, אם קובץ או אובייקט עם אותו שם קיימים ביעד, הפקודות cp,‏ mv ו-rsync של Google Cloud CLI יחליפו אותו כברירת מחדל. כדי למנוע החלפה, משתמשים בדגל --no-clobber. כשמשתמשים ב-Google Cloud CLI, אי אפשר להוסיף נתונים לאובייקט קיים. צריך להעלות מחדש את כל המקור.

    • סגירת אובייקט: יכול להיות שיהיה עיכוב קצר מדי פעם באובייקטים שמועלים לקטגוריית אחסון אזורית באמצעות Google Cloud CLI, לפני שמטא-הנתונים של האובייקט מסונכרנים באופן מלא. מכיוון ש-Cloud Storage משתמש במודל עקביות הדרגתי, ניסיון להוריד אובייקט מיד אחרי ההעלאה עלול לגרום לשגיאה של אי התאמה בין הגיבובים אם המטא-נתונים עדיין לא עודכנו.

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

  • ביצועי אימות של סיכום ביקורת (checksum): קטגוריות אזוריות מסתמכות רק על CRC32C לאימות נתונים, וכך המערכת יכולה לבצע סיכום ביקורת לכל מקטע ולכל ההעלאה או ההורדה. כברירת מחדל, Google Cloud CLI משתמש בספריית Python google-crc32c, שמותקנת מראש עם Google Cloud CLI. עם זאת, אם אתם משתמשים בהתקנת Python שלא כלולה בחבילה, אתם צריכים להתקין באופן מפורש את הספרייה google-crc32c מ-PyPI. אחרת, Google Cloud CLI חוזר לבינארי gcloud-crc32c, מה שעלול להוביל לביצועים איטיים יותר בחישוב CRC של כל נתח.

חוסר תאימות

קטגוריות אזוריות לא תואמות למוצרים ולשירותים הבאים:

  • העלאה וניהול של נתונים

    • Rapid Cache

    • סיווג אוטומטי

    • נעילת קטגוריה

    • אובייקטים מורכבים

    • העלאות מרובות חלקים ב-XML

    • החזקות אובייקטים

    • הפעולה SetStorageClass של ניהול מחזור החיים של אובייקטים

    • נעילת שמירת אובייקטים

    • העברות של קטגוריות

    • העלאות שניתן להמשיך

    • כתיבה מחדש של אובייקטים

    • 'מגיש הבקשה משלם'

  • מטא-נתונים

    • לאובייקטים בקטגוריות אזוריות אין גיבוב MD5.

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

      • מאפייני המטא-נתונים softDeleteTime ו-hardDeleteTime לא מופיעים בייצוג המשאב של המשאב Objects, כי אין תמיכה במחיקה רכה של אובייקטים בקטגוריות אזוריות.

      • המטא-נתונים של storageClass באובייקטים בקטגוריות אזוריות תמיד כוללים את הערך RAPID, ואי אפשר לשכתב אותם כי קטגוריות אזוריות תמיד צריכות להשתמש בסוג האחסון Rapid Storage.

  • בקרת גישה

    • רשימות של בקרת גישה (ACL) ברמת האובייקט

    • הגדרות CORS

    • מפתחות הצפנה באספקת הלקוח (CSEK)

    • מקשי HMAC

  • הגנה על נתונים והתאוששות מאסון

    • ניהול גרסאות של אובייקטים

    • מחיקה עם יכולת שחזור

    • שכפול בין קטגוריות

  • שירותים Google Cloud אחרים

    • BigQuery

מכסות

לכל אזור בכל פרויקט יש מכסה של נפח אחסון כברירת מחדל. לכל אזור בכל פרויקט יש גם מכסת ברירת מחדל לתעבורת נתונים יוצאת (egress) מ-Cloud Storage לשירותיGoogle . כדי לראות את המכסות האלה, אפשר לעיין במאמר מכסות ומגבלות.

במאמר מעקב אחר השימוש ברוחב פס מוסבר איך לעקוב אחרי השימוש בתעבורת נתונים יוצאת (egress) ולבקש רוחב פס נוסף.

תמחור

השימוש ב-Rapid Bucket כרוך בחיובים על אחסון נתונים, פעולות ורשת. מידע נוסף על תמחור

שיטות מומלצות

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

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

  • מזהי קבצים ב-Cloud Storage FUSE: כדי לשפר את הביצועים כשמשתמשים בקטגוריות אזוריות עם Cloud Storage FUSE, כדאי להשאיר מזהה קובץ פתוח לאובייקטים בקטגוריה האזורית שנטענה ולהשתמש בו לכמה פעולות. השיטה הזו משפרת את הביצועים כי Cloud Storage FUSE נמנע מנסיעות הלוך ושוב מיותרות ברשת לקריאות חוזרות.

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

המאמרים הבאים