בדף הזה מוסבר על Rapid Bucket, יכולת שמאפשרת לאחסן אובייקטים בסוג האחסון Rapid Storage על ידי הגדרת אזור כמיקום של קטגוריה. הגישה הזו מאפשרת לכם למקם את אחסון הנתונים באותו מיקום עם משאבי המחשוב, וכך לקבל זמן אחזור נמוך משמעותית וקצב העברת נתונים גבוה יותר בהשוואה לסוגי אחסון אחרים ב-Cloud Storage. עומסי עבודה באזורים אחרים יכולים גם לגשת לדלי, עם ביצועים יחסיים למרחק ברשת.
כדי ליצור קטגוריה אזורית באמצעות Rapid Bucket, ראו יצירת קטגוריות אזוריות. רשימת המיקומים הנתמכים מופיעה בקטע אזורים. במאמר שימוש באובייקטים בקטגוריות אזוריות מוסבר איך לקרוא אובייקטים בקטגוריות אזוריות ולצרף אליהם נתונים.
יתרונות
Rapid Bucket נועד להסיר צווארי בקבוק באחסון, והוא אידיאלי לשימוש באפליקציות הכי עתירות נתונים, כמו AI/ML וניתוח נתונים. Rapid Bucket תומך בחביון של פחות מאלפית השנייה, ברוחב פס מצטבר של עד 15TB/s וב-20 מיליון שאילתות לשנייה (QPS). זמן טעינה קצר במיוחד מאפשר שליפה מיידית של נתונים, ומאפשר לאפליקציות של היקש בזמן אמת לפעול בקנה מידה גדול. התפוקה הגבוהה וה-QPS הגבוה עוזרים לשמור על אשכולות ה-GPU היקרים שלכם ברוויה מלאה, ומקצרים באופן משמעותי את זמני אימון המודלים.
מינוח של Rapid Bucket
במאמרי העזרה של Cloud Storage נעשה שימוש במונחים הבאים:
Rapid Bucket: מוצר שמאפשר ליצור קטגוריות עם מיקום אזורי וסוג אחסון Rapid.
אחסון מהיר: סוג האחסון שמציע את הביצועים הכי גבוהים של גישה לנתונים ושל פעולות קלט/פלט ב-Cloud Storage. כשמשתמשים ב-Rapid Bucket, יוצרים קטגוריה שמשתמשת ב-Rapid Storage. מידע נוסף על Rapid Storage זמין במאמר בנושא סוגי אחסון.
קטגוריה אזורית: קטגוריה שממוקמת באזור. אובייקטים בקטגוריות אזוריות תמיד מאוחסנים ב-Rapid Storage, ואפשר להוסיף להם נתונים.
יכולות של קטגוריות אזוריות
בנוסף לזמן אחזור נמוך ולתפוקה גבוהה, באחסון בדליים אזוריים אפשר:
הוספה לאובייקטים בקטגוריה אזורית בלי לבצע כתיבה מחדש מלאה של האובייקט
פתיחת אובייקטים ושמירה על ה-Stream בזמן ביצוע פעולות, כדי להאיץ קריאות וכתיבות עתידיות
תרחישים לדוגמה
השימוש ב-Rapid Bucket מתאים במיוחד לעומסי עבודה של AI/ML או לעומסי עבודה אחרים שדורשים הרבה נתונים. דוגמאות לעומסי עבודה כאלה הן נקודות ביקורת (checkpointing) של מודלים, הערכה והצגה, וגם תורים של רישום ביומן והודעות. אפשר להשתמש בו גם להזרמת נתונים או לאחסון מסדי נתונים.
כדי ליהנות באופן מלא מזמן האחזור הקצר ומהתפוקה הגבוהה שמספק Rapid Bucket, חשוב להפעיל קישוריות ישירה של gRPC.
גישה לאובייקטים בקטגוריות אזוריות
כדי ליהנות מיתרונות הביצועים של קטגוריה אזורית, חשוב לפתוח אובייקטים להזרמה ולשמור על הזרמה בזמן ביצוע פעולות על האובייקטים. כשיוצרים ומנהלים זרם, אפשר לבצע פעולות קריאה או כתיבה לאובייקט עם השהיה נמוכה מאוד. לדוגמה, כשקוראים קובץ Parquet, אפשר לבצע גם את הקריאה הראשונית של המטא-נתונים של הקובץ (הכותרת התחתונה) וגם את הקריאה הבאה של שורות ספציפיות בבקשה אחת. הגישה הזו יעילה יותר משימוש בבקשות נפרדות לכל שלב.
אחרי שיוצרים אותם, זרמי אובייקטים נשארים פתוחים כברירת מחדל כשניגשים לאובייקטים בקטגוריות אזוריות באמצעות Cloud Storage FUSE או ספריות הלקוח של Cloud Storage.
אפשר לפתוח כמה זרמי קריאה לאובייקט ממספר כלשהו של מארחים. אין הגבלה על מספר הזרמים לקריאה שאפשר ליצור לאובייקט.
צירוף אובייקטים
אפשר לצרף נתונים לאובייקטים בקטגוריות אזוריות. כשמוסיפים נתונים לאובייקטים, חלים כללי הסמנטיקה הבאים:
אובייקטים שאפשר להוסיף להם נתונים מופיעים במרחב השמות של הקטגוריה ברגע שמתחילים לכתוב להם, ואפשר לקרוא אותם גם בזמן הכתיבה.
אין הגבלות על מספר הפעמים שאפשר להוסיף נתונים לאובייקט או על מספר הבייטים שאפשר להוסיף בכל פעם. אפשר להוסיף נתונים עד שאובייקט מגיע לגודל המקסימלי שלו, שהוא 5 TiB.
הגודל של אובייקט יגדל בזמן אמת ככל שיתווספו אליו נתונים באופן קבוע או כשהוא ירוקן. כשמקימים זרם קריאה, צריך לצפות לעיכוב מינימלי בעדכון הגודל של האובייקט.
לאובייקטים שאפשר להוסיף להם נתונים יכול להיות רק כותב אחד בכל פעם. אם נוצר זרם כתיבה חדש לאובייקט שכבר יש לו זרם כתיבה קיים, 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 ואילך.
תמחור
השימוש ב-Rapid Bucket כרוך בחיובים על אחסון נתונים, פעולות ורשת. מידע נוסף על תמחור
מגבלות
בקטגוריות אזוריות צריך להפעיל מרחב שמות היררכי וגישה אחידה ברמת הקטגוריה.
מגבלות של Google Cloud CLI:
הגרסה המינימלית של Google Cloud CLI שנתמכת: הגרסה המינימלית של ה-CLI של gcloud שתומכת בדליים אזוריים היא 553.0.0. גרסאות קודמות לא תואמות לדליים אזוריים. מומלץ להשתמש בגרסה העדכנית של ה-CLI של gcloud כדי ליהנות מהתכונות העדכניות ומהתיקונים לבאגים.
חשיפה של העלאות לא מלאות: בניגוד לקטגוריות בסוגי אחסון אחרים, שבהן אובייקטים מופיעים במרחב השמות רק אחרי שההעלאה מסתיימת, אובייקטים שהועלו באופן חלקי בקטגוריות אזוריות גלויים באופן מיידי. אם פקודת העלאה של Google Cloud CLI נכשלת או מופסקת, יכול להיות שתראו אובייקטים לא שלמים בקטגוריה. עדיין אפשר להמשיך את ההעלאות האלה על ידי הפעלה מחדש של הפקודה.
החלפת אובייקטים: התנהגות ה-CLI הרגילה של Google Cloud חלה על קטגוריות אזוריות: כשמחליפים אובייקט, אם קיים קובץ או אובייקט עם אותו שם ביעד, פקודות ה-CLI של Google Cloud
cp,mvו-rsyncיחליפו אותו כברירת מחדל. כדי למנוע החלפות, משתמשים בדגל--no-clobber. כשמשתמשים ב-Google Cloud CLI, אי אפשר לצרף נתונים לאובייקט קיים. צריך להעלות מחדש את כל המקור.סגירת אובייקט: יכול להיות שיהיה עיכוב קצר מדי פעם באובייקטים שמועלים לקטגוריית אחסון אזורית באמצעות Google Cloud CLI, לפני שמטא-הנתונים של האובייקט מסונכרנים באופן מלא. מכיוון ש-Cloud Storage משתמש במודל של עקביות בסופו של דבר, ניסיון להוריד אובייקט מיד אחרי ההעלאה עלול לגרום לשגיאה של אי התאמה בין הגיבובים, אם המטא-נתונים עדיין לא עודכנו.
אם ההורדה נכשלת עם שגיאה של אי התאמה בין הגיבובים זמן קצר אחרי ההעלאה, מנסים שוב להריץ את הפקודה. המערכת מוודאת שההורדות יסתיימו בהצלחה או ייכשלו באופן מפורש. לא יקרו הורדות חלקיות או פגומות בלי שתהיה לכך התראה.
ביצועי אימות של סכומי ביקורת: בקטגוריות אזוריות, המערכת מסתמכת באופן בלעדי על CRC32C לאימות נתונים, מה שמאפשר לה לבצע בדיקת סכום ביקורת לכל נתח ולכל ההעלאה או ההורדה. כברירת מחדל, Google Cloud CLI משתמש בספריית Python
google-crc32c, שמגיעה עם Google Cloud CLI ומוגדרת מראש. עם זאת, אם אתם משתמשים בהתקנת Python שלא כלולה בחבילה, אתם צריכים להתקין במפורש את הספרייהgoogle-crc32cמ-PyPI. אחרת, Google Cloud CLI חוזר לשימוש בקובץ הבינאריgcloud-crc32c, מה שעלול להוביל לביצועים איטיים יותר בחישוב CRC של כל נתח.
חוסר תאימות
אי אפשר להשתמש בדליים אזוריים עם הכלים, המוצרים והשירותים הבאים:
כלים
ממשקי API של ספריות לקוח שכותבים לקטגוריה רגילה ולא אזורית. אם אתם מתכננים להשתמש בספריות לקוח כדי לכתוב ל-buckets אזוריים, תצטרכו לשנות את הקוד כדי להשתמש בממשקי API נתמכים. כדי לדעת אילו ממשקי API נתמכים, אפשר לעיין בדוגמאות הקוד של ספריית הלקוח במאמר שימוש באובייקטים בדליים אזוריים.
פעולות כתיבה באמצעות gRPC שלא
BidiWriteObject. אובייקטים שאפשר להוסיף להם נתונים תומכים רק בקריאת ה-RPCBidiWriteObjectבמצב של הוספת נתונים. אין תמיכה בשיטות אחרות של gRPC לכתיבה (כמו כתיבה חד-פעמית או כתיבה שאפשר להמשיך) ובקריאות אחרות ל-RPC (כמוWriteObject).פעולות כתיבה באמצעות API בפורמט JSON
העלאות מרובות חלקים באמצעות API בפורמט XML
הגנה על נתונים והתאוששות מאסון
ניהול גרסאות של אובייקטים
מחיקה עם אפשרות שחזור
שכפול בין מאגרי מידע
ניהול נתונים
Rapid Cache
סיווג אוטומטי
נעילת קטגוריות
הרכבת אובייקטים
החזקות אובייקטים
פעולת
SetStorageClassניהול מחזור חיים של אובייקטיםנעילת שמירת אובייקטים
העברת קטגוריות
העלאות שניתן להמשיך
כתיבה מחדש של אובייקטים
'מגיש הבקשה משלם'
בקרת גישה
רשימות של בקרת גישה (ACL) ברמת האובייקט
הגדרות CORS
מפתח הצפנה באספקת הלקוח (CSEK)
מקשי HMAC
מטא-נתונים
לאובייקטים בדליים אזוריים אין גיבוב MD5.
מאפייני המטא-נתונים שמשויכים לתכונות ולמוצרים שלא נתמכים לא מופיעים בייצוג המשאב של קטגוריה אזורית או של אובייקט שאפשר להוסיף לו נתונים, או שהם לא ניתנים לכתיבה. לדוגמה:
מאפייני המטא-נתונים
softDeleteTimeו-hardDeleteTimeלא מופיעים בייצוג המשאב של המשאבObjectsכי מחיקה זמנית לא נתמכת באובייקטים בקטגוריות אזוריות.למטא-נתונים
storageClassשל אובייקטים בקטגוריות אזוריות יש תמיד ערך שלRAPID, ואי אפשר לשנות אותו כי בקטגוריות אזוריות תמיד צריך להשתמש בסיווג האחסון Rapid Storage.
שירותים
- BigQuery
מכסות
לכל אזור בכל פרויקט יש מכסת קיבולת אחסון שמוגדרת כברירת מחדל. בנוסף, לכל אזור בכל פרויקט יש מכסת תעבורת נתונים יוצאת (egress) מ-Cloud Storage לשירותיGoogle שמוגדרת כברירת מחדל. כדי לראות את המכסות האלה, אפשר לעיין במאמר מכסות ומגבלות.
במאמר מעקב אחר השימוש ברוחב פס מוסבר איך לעקוב אחרי השימוש בתעבורת נתונים יוצאת (egress) ולבקש רוחב פס נוסף.
שיטות מומלצות
כדי לשפר את הביצועים כשמשתמשים בקטגוריות אזוריות עם Cloud Storage FUSE, מומלץ לשמור על ידית פתוחה של קובץ לאובייקטים שנטענו ולהשתמש בה לכמה פעולות. התוצאה היא ביצועים טובים יותר, כי Cloud Storage FUSE לא צריך לבצע מסעות מיותרים הלוך ושוב ברשת לכל קריאה חוזרת.