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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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