סקירה כללית על תצוגות מורשות

תצוגות מורשות ב-Bigtable מאפשרות להעניק גישה מפורטת לקבוצות משנה ספציפיות של נתוני טבלה בנפרד מהטבלה הבסיסית.

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

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

מה מגדיר צפייה מורשית

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

  • קידומת של מפתח שורה – לדוגמה, כל השורות שמתחילות ב-examplepetstore1#
  • קידומת של מסווג עמודות – לדוגמה, כל העמודות שהמסווגים שלהן מתחילים ב-order# במשפחת העמודות שצוינה
  • מגדיר עמודה – לדוגמה, רק העמודה order-examplepetstore במשפחת העמודות שצוינה
  • שילוב של קידומת מפתח שורה ומגדיר העמודה

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

הערכים של מפתח השורה ושל מסווג העמודה שבהם אתם משתמשים כדי להגדיר תצוגה מורשית נחשבים לנתוני שירות. לכן, לא מומלץ ליצור תצוגה מורשית באמצעות ערכים של מפתח שורה או של מסווג עמודה שמכילים מידע רגיש. למידע על אופן הטיפול בנתוני השירות, אפשר לעיין בהודעת הפרטיות שלCloud de Confiance by S3NS .

הכללת עמודות במשפחה או בכל השורות

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

באופן דומה, אם רוצים להגדיר תצוגה מורשית שכוללת את כל השורות בטבלה, מציינים את המחרוזת הריקה ("") כקידומת של מפתח שורה. בקובץ הגדרה, זה נכתב כ-"rowPrefixes": [""] בקבוצת המשנה של התצוגה.

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

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

דוגמאות לקובצי הגדרות

בקטע הזה מוצגות דוגמאות בפורמט JSON של קובצי הגדרות של תצוגות מורשות.

זוהי דוגמה לקובץ הגדרה של תצוגה מורשית שכוללת את העמודה address של משפחת העמודות customer ועמודות שמתחילות ב-tel לשורות עם קידומת של מפתח שורה examplepetstore1#.

    {
      "subsetView":
      {
        "rowPrefixes": ["examplepetstore1#"],
        "familySubsets":
        {
          "customer":
          {
            "qualifiers":["address"],
            "qualifierPrefixes":["tel"]
          }
        }
      },
      "deletionProtection": true
    }

הקובץ הבא הוא קובץ הגדרה של תצוגה מורשית שכולל את העמודה skus במשפחת העמודות order ואת כל העמודות במשפחת העמודות customer.

    {
      "subsetView": {
        "rowPrefixes": [""],
        "familySubsets": {
          "order": {
            "qualifiers": ["skus"]
          },
          "customer": {
            "qualifierPrefixes": [""]
          }
        }
      }
    }

הדוגמה הבאה היא של קובץ הגדרה לתצוגה מורשית שכוללת רק נתונים בעמודה skus במשפחת העמודות order בשורות שיש להן קידומת של מפתח שורה examplepetstore1#.

    {
      "subsetView": {
        "rowPrefixes": ["examplepetstore1#"]
        "familySubsets": {
          "order": {
            "qualifiers": ["skus"]
          }
        }
      }
    }

זוהי דוגמה לקובץ הגדרה של תצוגה מורשית שכוללת רק נתונים בעמודות skus ו-agents במשפחת העמודות order, ובעמודות dog, cat ו-bird במשפחת העמודות pet_id.

    {
      "subsetView": {
        "rowPrefixes": [""]
        "familySubsets": {
          "order": {
            "qualifiers": ["skus", "agents"]
          "pet_id": {
            "qualifiers": ["dog", "cat", "bird"]
          }
          }
        }
      }
    }

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