יצירה וניהול של תצוגות מהותיות רציפות

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

אפשר ליצור תצוגה חומרית מתמשכת באמצעות Google Cloud CLI, עורך השאילתות של Bigtable Studio במסוף Google Cloud , או ספריות הלקוח של Bigtable ל-Java ול-Go.

לפני שמתחילים

אם אתם מתכננים להשתמש ב-CLI של gcloud, אתם צריכים לבצע את השלבים הבאים:

  1. התקינו את ה-CLI של Google Cloud.

  2. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  3. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init

אם ה-CLI של gcloud מחזיר את ההודעה Method not found, מריצים שוב את הפקודה gcloud auth login.

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות ליצירה ולניהול של תצוגות חומריות רציפות, צריך לבקש מהאדמין להקצות לכם את התפקיד Bigtable Admin (roles/bigtable.admin) במופע. אחרת, צריך לבקש את ההרשאות הבאות ברמת המופע, בהתאם לפעולה שרוצים לבצע:

  • יצירה: bigtable.materializedViews.create
  • עדכון: bigtable.materializedViews.update
  • מחיקה: bigtable.materializedViews.delete
  • רשימה: bigtable.materializedViews.list

כדי ליצור תצוגה חומרית מתמשכת, צריך גם הרשאת bigtable.tables.readRows לפחות בטבלת המקור.

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

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

לפני שיוצרים תצוגה מהותית רציפה, צריך:

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

המסוף

  1. במסוף Google Cloud , פותחים את רשימת מופעי Bigtable.

    פתיחת רשימת המופעים

  2. בוחרים מופע.

  3. בחלונית הניווט, לוחצים על Bigtable Studio.

  4. פותחים כרטיסייה חדשה בלחיצה על ואז בוחרים באפשרות עורך.

    1. כשעורך השאילתות מופיע, כותבים את השאילתה. אם השאילתה היא SQL תקינה, תוצג ההודעה Valid.

    2. אופציונלי: כדי לעצב את הדוח בסגנון SQL, לוחצים על עיצוב.

    3. לוחצים על Run. התוצאות של השאילתה יופיעו בטבלה Results.

    4. כשמרוצים מהשאילתה, לוחצים על החץ להרחבת האפשרות שמירה בשם ובוחרים באפשרות שמירה כתצוגה מהותית.

  5. בתיבת הדו-שיח שמירת התצוגה הממומשת, מזינים שם לתצוגה ולוחצים על שמירה.

    מידע נוסף על השימוש בעורך השאילתות זמין במאמר ניהול הנתונים באמצעות Bigtable Studio.

gcloud

כדי ליצור תצוגה מהותית רציפה, משתמשים בפקודה gcloud bigtable materialized-views create:

    gcloud bigtable materialized-views create VIEW \
            --instance=INSTANCE --query=QUERY

מחליפים את מה שכתוב בשדות הבאים:

  • ‫VIEW: מזהה ייחודי של התצוגה המתמשכת החומרית. משתמשים במזהה הזה כמזהה הטבלה כששולחים שאילתה לתצוגה המפורטת הרציפה.
  • ‫INSTANCE: המזהה של המופע שבו ייצור התצוגה החומרית הרציפה. צריך להיות אותו מופע כמו טבלת המקור.
  • ‫QUERY: הצהרת SQL תקינה שמגדירה את התצוגה המתמשכת של התצוגה החומרית.

אופציונלי: הפעלת הגנה מפני מחיקה

כדי להפעיל הגנה מפני מחיקה של התצוגה המהותית הרציפה, מוסיפים את הפקודה --deletion-protection=DELETION_PROTECTION. מחליפים את DELETION_PROTECTION ב-true או ב-false.

אופציונלי: יצירת תצוגה מבודדת לאשכול יחיד

כברירת מחדל, Bigtable משכפל תצוגה חומרית רציפה בכל האשכולות במופע. כדי לשמור תצוגה באשכול ספציפי בלבד, מגדירים את התצוגה באמצעות CLUSTER_ATTRIBUTE ומעבירים את הדגל --ignore-warnings:

gcloud bigtable materialized-views create VIEW \
  --instance=INSTANCE \
  --query="SELECT ... WHERE CLUSTER_ATTRIBUTE('cluster_id') = 'CLUSTER_ID'" \
  --ignore-warnings

מחליפים את מה שכתוב בשדות הבאים:

  • ‫VIEW: מזהה ייחודי של התצוגה המתמשכת החומרית. משתמשים במזהה הזה כמזהה הטבלה כששולחים שאילתה לתצוגה המפורטת הרציפה.
  • ‫INSTANCE: המזהה של המופע שבו ייצור התצוגה החומרית הרציפה. צריך להיות אותו מופע כמו טבלת המקור.
  • ‫CLUSTER_ID: המזהה של האשכול שבו רוצים לשמור את התצוגה.

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

הפעלת שאילתה על תצוגה מהותית מתמשכת

אחרי שתצוגה חומרית רציפה מופעלת, אפשר להריץ עליה שאילתות כמו על כל טבלה אחרת באמצעות Bigtable Studio במסוף Google Cloud או באמצעות ספריות לקוח נתמכות. מידע נוסף על תחביר ודרישות של שאילתות זמין במאמר שאילתות של תצוגות חומריות מתמשכות.

כדי לבדוק ולהריץ שאילתה על תצוגה לפני השלמת האכלוס הראשוני, משתמשים ברמז השאילתה @{allow_incomplete_view=true}. מידע נוסף זמין במאמר קריאת נתונים במהלך האכלוס הראשוני.

עדכון של תצוגה חומרית רציפה

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

המסוף

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

gcloud

כדי להפעיל או להשבית הגנה מפני מחיקה של תצוגה חומרית רציפה, משתמשים בפקודה gcloud bigtable materialized-views update.

gcloud bigtable materialized-views update VIEW \
        --instance=INSTANCE --deletion-protection=DELETION_PROTECTION

מחליפים את מה שכתוב בשדות הבאים:

  • ‫VIEW: המזהה הייחודי של התצוגה המתמשכת החומרית שרוצים לעדכן
  • ‫INSTANCE: המזהה של המופע שמכיל את התצוגה החומרית הרציפה
  • DELETION_PROTECTION: true או false

מחיקה של תצוגה חומרית רציפה

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

המסוף

  1. במסוף Google Cloud , פותחים את רשימת מופעי Bigtable.

    פתיחת רשימת המופעים

  2. בוחרים מופע מהרשימה.

  3. בחלונית הניווט, לוחצים על Bigtable Studio.

  4. מרחיבים את תצוגות מהותיות.

  5. לצד התצוגה שרוצים למחוק, לוחצים על תפריט הפעולות more_vert ואז על מחיקה.

gcloud

כדי למחוק תצוגה חומרית מתמשכת, משתמשים בפקודה gcloud bigtable materialized-views delete:

gcloud bigtable materialized-views delete VIEW \
      --instance=INSTANCE

מחליפים את מה שכתוב בשדות הבאים:

  • ‫VIEW: המזהה הייחודי של התצוגה המפורטת הרציפה שרוצים למחוק
  • ‫INSTANCE: המזהה של המופע שמכיל את התצוגה הרציפה המגובה בחומר

קבלת רשימה של תצוגות מהותיות רציפות

אפשר לראות רשימה של תצוגות חומריות רציפות של מופע.

המסוף

  1. במסוף Google Cloud , פותחים את רשימת מופעי Bigtable.

    פתיחת רשימת המופעים

  2. בוחרים מופע מהרשימה.

  3. בחלונית הניווט, לוחצים על Bigtable Studio. תוצג רשימה של תצוגות חומריות רציפות.

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

gcloud

כדי לראות את הרשימה של כל התצוגות המגובשות הרציפות של מופע, משתמשים בפקודה gcloud bigtable materialized-views list.

gcloud bigtable materialized-views list --instance=INSTANCE

מחליפים את INSTANCE במזהה המכונה.

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