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

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

במאמר הזה מוסבר על תצוגות לוגיות ואיך ליצור אותן ולבצע בהן פעולות. השוואה בין תצוגות מהותיות רציפות ותצוגות מורשות מופיעה במאמר טבלאות ותצוגות.

תצוגות לוגיות מאפשרות לכם לבצע את הפעולות הבאות עם הנתונים שלכם ב-Bigtable:

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

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

לתצוגה לוגית יש את המאפיינים הבאים:

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

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

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

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

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

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

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

    gcloud init

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

כדי לעבוד עם תצוגות לוגיות, נדרשות ההרשאות הבאות:

כדי לנהל תצוגות לוגיות:

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

כדי להציג שאילתות של תצוגות לוגיות:

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

    • רשימה: bigtable.logicalViews.list
    • מתארים: bigtable.logicalViews.get
  • כדי לשלוח שאילתה לתצוגה לוגית, צריך את ההרשאה bigtable.logicalViews.readRowsבתצוגה הלוגית.

כדי ליצור תצוגה לוגית:

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

כדי להעניק גישת קריאה לתצוגה ספציפית:

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

  1. נותנים למשתמש את התפקיד bigtable.reader בפרויקט.
  2. יוצרים תנאי IAM שמגביל את ההרשאה bigtable.logicalViews.readRows לתצוגה הלוגית הספציפית. לדוגמה:

    resource.name == projects/PROJECT_ID/instances/INSTANCE_ID/logicalViews/VIEW
    

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

    • PROJECT_ID: הפרויקט ב- Google Cloud שבו נמצא מופע Bigtable.
    • VIEW: מזהה באורך של עד 128 תווים לתצוגה הלוגית החדשה. המזהה חייב להיות ייחודי בין מזהי הטבלאות ומזהי התצוגות המפורטות במופע.
    • INSTANCE_ID: המזהה של המופע שבו רוצים ליצור את התצוגה הלוגית.

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

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

יצירת תצוגה לוגית

המסוף

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

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

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

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

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

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

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

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

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

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

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

gcloud

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

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

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

  • VIEW: מזהה באורך של עד 128 תווים לתצוגה הלוגית החדשה. המזהה חייב להיות ייחודי בין מזהי הטבלאות ומזהי התצוגות המפורטות במופע.
  • QUERY: GoogleSQL תקין לשאילתת Bigtable
  • INSTANCE: המזהה של המופע שבו רוצים ליצור את התצוגה הלוגית

אופציונלי:

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

עדכון תצוגה לוגית

המסוף

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

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

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

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

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

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

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

  6. משנים את השאילתה.

  7. לוחצים על Run.

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

  9. בתיבת הדו-שיח, מזינים את המזהה של התצוגה שהשתנתה.

    בתיבת הדו-שיח מוצגת הודעה שמזהירה אתכם שאתם דורסים את התצוגה הקיימת.

  10. לוחצים על Save.

gcloud

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

כדי לעדכן את השאילתה של תצוגה לוגית:

gcloud bigtable logical-views update VIEW  \
    --instance=INSTANCE --query=QUERY

כדי להפעיל הגנה מפני מחיקה של תצוגה לוגית:

gcloud bigtable logical-views update VIEW \
    --instance=INSTANCE \
    --deletion-protection=true

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

gcloud bigtable logical-views update VIEW \
    --instance=INSTANCE \
    --deletion-protection=false

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

  • VIEW: המזהה של התצוגה הלוגית שרוצים לעדכן
  • INSTANCE: המזהה של המכונה שמכילה את התצוגה הלוגית
  • QUERY: שאילתת GoogleSQL תקינה

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

חשוב לדעת שזו פעולה בלתי הפיכה.

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

המסוף

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

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

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

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

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

  5. מרחיבים את האפשרות Views.

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

gcloud

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

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

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

  • VIEW: המזהה של התצוגה הלוגית שרוצים לעדכן
  • INSTANCE: המזהה של המכונה שמכילה את התצוגה הלוגית

איך מקבלים רשימה של תצוגות לוגיות של מכונה

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

המסוף

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

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

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

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

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

gcloud

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

gcloud bigtable logical-views list --instance=INSTANCE

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

תיאור של תצוגה לוגית

כדי לקבל פרטים על תצוגה לוגית, משתמשים בפקודה gcloud bigtable logical-views describe.

  gcloud bigtable logical-views describe VIEW \
      --instance=INSTANCE

במסוף מוצגים פרטים דומים לאלה:

  createTime: '2025-03-07T19:49:56.316578Z'
  etag: W/"/v1/17919275593532352351"
  name: projects/my-project/instances/my-instance/logicalViews/my-view
  query: SELECT street FROM addresses
  updateTime: '2025-03-07T19:49:56.316578Z'
  deletion_protection: true

שאילתה של תצוגה לוגית

אחרי שיוצרים תצוגה לוגית, אפשר להריץ עליה שאילתות באמצעות SQL, בדיוק כמו שמריצים שאילתות על טבלה רגילה. אפשר להשתמש בתצוגות לוגיות בסעיף FROM של הצהרות SELECT.

בעורך השאילתות, מזינים שאילתת GoogleSQL שמפנה לשם התצוגה. לדוגמה, אם התצוגה נקראת MyLogicalView:

SELECT *
FROM MyLogicalView
LIMIT 100;

מידע נוסף על הרצת שאילתות SQL ב-Bigtable זמין במאמר הפעלת שאילתות על הנתונים באמצעות SQL בכלי לעריכת שאילתות.

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