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

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

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

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

מידע על תצוגות לוגיות

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

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

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

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

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

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

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

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

  2. הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.

    איך נכנסים ל-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: הפרויקט ב- Cloud de Confiance שבו נמצא מופע Bigtable.
    • ‫VIEW: מזהה באורך של עד 128 תווים לתצוגה הלוגית החדשה. המזהה חייב להיות ייחודי בין מזהי הטבלאות ומזהי התצוגות המפורטות במופע.
    • ‫INSTANCE_ID: המזהה של המופע שבו רוצים ליצור את התצוגה הלוגית.

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

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

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

המסוף

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

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

  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. אי אפשר להשתמש ב-SELECT * בשאילתה.
  • ‫INSTANCE: המזהה של המופע שבו רוצים ליצור את התצוגה הלוגית

אופציונלי:

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

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

המסוף

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

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

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

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

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

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

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

  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. במסוף Cloud de Confiance , פותחים את רשימת מופעי Bigtable.

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

  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. במסוף Cloud de Confiance , פותחים את רשימת מופעי Bigtable.

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

  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 בכלי לעריכת שאילתות.

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