סקירה כללית על תצוגות לוגיות ותצוגות מהותיות

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

תצוגות לוגיות

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

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

היתרונות של תצוגות לוגיות כוללים:

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

תצוגות מהותיות

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

תצוגות חומריות ב-BigQuery משלבות בין המהירות של נתונים שחושבו מראש לבין הדיוק של תצוגה בזמן אמת. הם עושים את זה באמצעות:

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

השוואה

בטבלה הבאה מפורטים הדמיון וההבדלים בין תצוגות לוגיות לבין תצוגות חומריות ב-BigQuery:

מאפיין תצוגה לוגית תצוגה מהותית
שמירת נתונים ללא (וירטואלי) פיזי (מאוחסן בדיסק)
הרצה בכל פעם שהתצוגה נקראת חישוב מראש; רענון ברקע
נתונים לא עדכניים אף פעם אופציונלי 1 (באמצעות רענון)
ביצועים משתנה (תלוי בטבלת הבסיס) עקבי ומהיר
מורכבות של SQL ללא הגבלה מוגבל
אופטימיזציה ל אבטחה והפשטה האצת התהליך והפחתת העלויות
עלויות תחזוקה ואחסון לא כן

1 האפשרות --max_staleness משפרת את ביצועי השאילתות עם עלויות מבוקרות כשמעבדים מערכי נתונים גדולים שמשתנים לעיתים קרובות.

מתי כדאי להשתמש בתצוגות לוגיות

  • שכבות סמנטיות. לשנות את השם של עמודות מורכבות למונחים שמתאימים לעסקים, כדי שמשתמשים לא טכניים יוכלו להבין אותם.
  • פיתוח מהיר. השימוש מתאים כשאין לוגיקה קבועה ואתם לא רוצים לנהל את התקורה של אחסון פיזי.
  • מקורות נתונים מאוחדים. לספק מקור נתונים לכלים להמחשה כמו Looker Studio או BigQuery sharing (לשעבר Analytics Hub).

מתי כדאי להשתמש בתצוגות חומריות

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

שיטות מומלצות

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

במאמר MATERIALIZED_VIEWS view מוסבר איך לעקוב אחרי השימוש בתצוגות חומריות והביצועים שלהן.

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