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

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

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

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

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

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

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

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

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

תצוגות ב-BigQuery כפופות למגבלות הבאות:

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

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

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

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

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

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

כדי לשלוט בגישה לתצוגות ב-BigQuery, קראו את המאמר תצוגות מורשות.

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