מרחב שמות היררכי

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

במסמך הזה מתוארים היכולות, היתרונות, תרחישי השימוש והמגבלות של מרחב שמות היררכי.

איך זה עובד

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

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

Figure 1. היררכיית קטגוריות עם תיקיות ואובייקטים.
איור 1. היררכיית קטגוריות עם תיקיות ואובייקטים.

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

מרחב שמות היררכי מספק את היכולות והיתרונות הבאים:

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

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

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

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

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

מתי כדאי להשתמש במרחב שמות היררכי?

כדאי להפעיל מרחב שמות היררכי כשעובדים עם אפליקציות שמצפות למערכת קבצים עם היררכיה וסמנטיקה. מרחב שמות היררכי שימושי למשימות שדורשות הרבה נתונים, כמו ניתוח נתונים ועומסי עבודה של AI/ML. הנה כמה תרחישים נפוצים שבהם כדאי להשתמש במרחב שמות היררכי:

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

  • עיבוד עומסי עבודה שמתמקדים בקבצים: עומסי עבודה כמו עיבוד ניתוח נתונים באצווה, שירותים פיננסיים או מחשוב עתיר ביצועים (HPC), בנויים במחיצות שמבוססות על היררכיה של תיקיות וקבצים. מרחב שמות היררכי עוזר לנהל את הסביבות האלה באמצעות API ייעודי לניהול תיקיות. בנוסף, מרחב שמות היררכי מפשט את ניהול התיקיות שמכילות תיקיות ואובייקטים אחרים. באמצעות פקודת API אחת, אתם יכולים לשנות במהירות את השם של תיקייה יחד עם כל התוכן שלה, וכך לחסוך זמן ומשאבים יקרים.

  • עיבוד נתוני AI/ML: כלי AI/ML כמו TensorFlow,‏ Pandas ו-PyTorch מצפים לבקרת גישה ולסמנטיקה של מערכת קבצים. מרחב שמות היררכי, במיוחד בשילוב עם Cloud Storage FUSE, מספק קצב העברת נתונים גבוה יותר וגישה יעילה לנתונים. כתוצאה מכך, מרחב השמות ההיררכי משפר את הביצועים והאמינות של האיטרציה של מודל ה-ML.

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

היתרונות של מרחב שמות היררכי

כשמפעילים מרחב שמות היררכי בקטגוריות, אפשר:

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

  • יצירת סביבה של מערכת קבצים: מרחב שמות היררכי מציג תכונות של מערכת קבצים כמו תיקיות, שינוי שמות של תיקיות ורשימת תיקיות, שמועילות לאפליקציות שמתמקדות בקבצים, כולל סביבת Hadoop ועומסי עבודה של AI/ML.

  • שיפור הביצועים: אפשר לשפר את הביצועים הכוללים של האפליקציה על ידי התאמה לעומס (scaling) של עומסי עבודה עתירי נתונים, כדי לטפל בנפח נתונים גדול יותר.

פלטפורמות נוספות

קטגוריות עם מרחב שמות היררכי תומכות ביכולות הבאות של פלטפורמת Cloud Storage:

  • כל ממשקי ה-API של אובייקטים ב-Cloud Storage והתכונות הנפוצות של Cloud Storage. פרטים על תכונות שלא נתמכות מופיעים בקטע מגבלות.

  • העברת נתונים מקטגוריה רגילה לקטגוריה עם מרחב שמות היררכי באמצעות Storage Transfer Service.

  • שילוב עם המוצרים הבאים:

תאימות לפעולות ולתכונות של Cloud Storage

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

אינטראקציות עם פעולות באובייקטים

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

  • פעולות כמו Upload,‏ Rewrite ו-Compose יוצרות באופן אוטומטי את כל תיקיות ההורה החסרות, כל עוד יש לכם את ההרשאות הנדרשות. לכן לא צריך ליצור תיקיות מראש לפני שמעלים אובייקטים.
  • אפשר ליצור תיקיות באופן אוטומטי במהלך פעולות על אובייקטים, אבל צריך למחוק אותן באופן מפורש באמצעות הפעולה DeleteFolder.
  • כשמשתמשים בפעולה ListObjects עם הפרמטר delimiter, הקטגוריות מחזירות כל תיקיית משנה בתור prefix.. עם זאת, תיקיות ריקות מוחרגות כברירת מחדל. כדי לכלול תיקיות ריקות, בדומה לרשימה רגילה של מערכת קבצים, צריך להגדיר את הפרמטר includeFoldersAsPrefixes. למידע על שיטות לאופטימיזציה של הביצועים בזמן הצגת רשימת אובייקטים בקטגוריות שבהן מופעל מרחב שמות היררכי, ראו הצגת רשימת אובייקטים.

אינטראקציות עם פעולות בקטגוריות

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

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

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

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

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

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

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

בקרת גישה לתיקיות עם תיקיות מנוהלות משויכות

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

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

מתן שמות לתיקיות עם תיקיות מנוהלות משויכות

כשיוצרים תיקיות עם תיקיות מנוהלות משויכות, חלים גם הכללים למתן שמות לתיקיות וגם הכללים למתן שמות לתיקיות מנוהלות. שמות של תיקיות יכולים להיות מקוננים עד לעומק של 50 רמות, אבל שמות של תיקיות מנוהלות יכולים להיות מקוננים רק עד לעומק של 15 רמות. הגודל המקסימלי של שם תיקייה מנוהלת הוא 512 בייטים בקידוד UTF-8. כלומר, אם אתם מתכננים ליצור תיקייה ותיקייה מנוהלת שמשויכת אליה, לתיקייה יכולות להיות רק 15 תיקיות צאצא מוערמות, והגודל המקסימלי של השם שלה הוא 512 בייטים בקידוד UTF-8.

תמחור

למידע על מחירים, קראו את התמחור של Cloud Storage.

מגבלות

אלה המגבלות של מרחב שמות היררכי:

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

  • כדי להפעיל מרחב שמות היררכי, צריך להפעיל בקטגוריה גם הרשאות גישה מאוחדות ברמת הקטגוריה (UBLA).

  • בקטגוריות שבהן מופעל מרחב שמות היררכי, הגודל המקסימלי של שם האובייקט הוא 1,024 בייטים בקידוד UTF-8, כאשר המגבלה של קטע שם התיקייה וקטע שם הבסיס היא 512 בייטים בקידוד UTF-8. בקטגוריות עם מרחב שמות שטוח, שמות האובייקטים לא מכילים קטעי שמות של תיקיות, והם מוגבלים ל-1,024 בייטים בקידוד UTF-8. מידע נוסף על מגבלות השמות של אובייקטים זמין במאמר מידע על אובייקטים.

  • שמות התיקיות יכולים להיות מקוננים עד לעומק של 50 רמות (או עד לעומק של 15 רמות אם לתיקייה משויכת תיקייה מנוהלת).

  • היכולות הבאות של Cloud Storage לא נתמכות בקטגוריות שמשתמשות במרחב שמות היררכי:

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

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