מבוא לתצוגות לוגיות

במסמך הזה מפורטת סקירה כללית על התמיכה של BigQuery בתצוגות לוגיות.

סקירה כללית

תצוגה היא טבלה וירטואלית שמוגדרת על ידי שאילתת SQL. סוג התצוגה שמוגדר כברירת מחדל ב-BigQuery הוא תצוגה לוגית. תוצאות השאילתה מכילות רק את הנתונים מהטבלאות והשדות שצוינו בשאילתה שמגדירה את התצוגה.

השאילתה שמגדירה תצוגה מופעלת בכל פעם שמתבצעת שאילתה על התצוגה.

סוגי תצוגות

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

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

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

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

תרחישים לדוגמה

תרחישים נפוצים לשימוש בתצוגות:

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

אפשר גם להשתמש בתצוגות בהקשרים אחרים:

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

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

מגבלות של תצוגות לוגיות

תצוגות מפורטות של BigQuery כפופות למגבלות הבאות:

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

מכסות של תצוגות לוגיות

מידע על מכסות ומגבלות שחלות על תצוגות מופיע במאמר מגבלות על תצוגות.

גם שאילתות SQL שמשמשות להגדרת תצוגות כפופות למכסות על משימות של שאילתות.

תמחור של תצוגות לוגיות

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

אבטחה של תצוגות לוגיות

כדי לשלוט בגישה לתצוגות ב-BigQuery, אפשר לעיין במאמר בנושא תצוגות מורשות.

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