טבלאות ותצוגות
Bigtable מאחסן את הנתונים בטבלאות ומאפשר ליצור תצוגות מיוחדות – תצוגות לוגיות, תצוגות חומריות רציפות ותצוגות מורשות – של הטבלאות. בהתאם לתרחיש השימוש, התצוגות האלה עוזרות לפשט מבני שאילתות SQL, לבצע מראש צבירות ולאכוף בקרת גישה ברמת פירוט גבוהה.
Tables
טבלה ב-Bigtable היא מיפוי ממוין של מפתח-ערך שמאחסן נתונים בשורות ובעמודות. כל שורה עוברת אינדוקס באמצעות מפתח שורה יחיד וייחודי. עמודות שקשורות זו לזו מקובצות בדרך כלל במשפחת עמודות.
ל-Bigtable יש מודל נתונים גמיש, והטבלאות שלו הן דלילות. כלומר, אם עמודה לא בשימוש בשורה מסוימת, לא מאוחסנים נתונים עבור העמודה. אתם לא צריכים לאחסן ערכי NULL בעמודות שלא בשימוש, כמו במקרה של מסד נתונים רלציוני. בטבלת Bigtable, יכול להיות שלשורה מסוימת יש עמודה אחת ולשורה הבאה יש 100 עמודות.
בשורה, עמודה יכולה להכיל כמה תאים, שכל אחד מהם מזוהה על ידי ה-4-tuple (מפתח שורה, קבוצת עמודות, מגדיר העמודה, חותמת זמן). אחסון של כמה תאים בעמודה מספק תיעוד של השינויים שחלו בנתונים המאוחסנים בשורה ובעמודה לאורך זמן.
טבלה ב-Bigtable לא תומכת בצירופים, ועסקאות נתמכות רק בשורה אחת.
טבלה היא משאב ברמת המופע שמשוכפל אוטומטית לכל אשכול במופע. שמירת הנתונים נשלטת באמצעות מדיניות איסוף נתונים מיותרים שמוגדרת ברמת משפחת העמודות.
מידע נוסף זמין במאמרים סקירה כללית על Bigtable ושיטות מומלצות לתכנון סכימה.
תצוגות
Bigtable תומך בסוגים הבאים של תצוגות טבלה: תצוגות לוגיות, תצוגות חומריות רציפות ותצוגות מורשות. תצוגות מאפשרות לכם לשתף נתונים בטבלה עם משתמשים וקבוצות מסוימים בלי לתת להם גישה לנתוני המקור.
תצוגות לוגיות
תצוגה לוגית – שלרוב נקראת פשוט תצוגה – היא התוצאה של שאילתת SQL. היא פועלת כטבלה וירטואלית שאפשר להריץ עליה שאילתות SQL אחרות. מידע נוסף זמין במאמר בנושא יצירה וניהול של תצוגות לוגיות.
תצוגות עם פרמטרים
תצוגה עם פרמטרים היא סוג של תצוגה לוגית שמסננת באופן דינמי טווחי נתונים על סמך הקשר האפליקציה. הגישה הזו מגנה על האפליקציות מפני הזרקת SQL ומצמצמת את הצורך בתצוגות סטטיות מרובות.
מידע נוסף מופיע במאמר בנושא סקירה כללית על תצוגות עם פרמטרים.
תצוגות מהותיות רציפות
תצוגה חומרית מתמשכת נוצרת על ידי הרצה מתמשכת של שאילתת SQL בטבלת Bigtable. Bigtable יוצר טבלה חדשה על סמך פלט השאילתה, ושומר אותה מסונכרנת עם טבלת המקור.
תצוגות חומריות רציפות יכולות לעזור לשפר את ביצועי השאילתות. לטבלה החדשה – התצוגה המפורטת הרציפה – יש סכימה שונה מזו של טבלת המקור, והיא מכילה נתונים שעברו צבירה מראש או טרנספורמציה, שעברו אופטימיזציה לשאילתות שונות מאלה שמשמשות בטבלת המקור.
תצוגות מהותיות רציפות הן לקריאה בלבד. תחויבו על אחסון של תצוגה חומרית רציפה, וגם על עבודת העיבוד שנדרשת ליצירת הטבלה השנייה, לשמירה על סנכרון שלה עם טבלת המקור ולשכפול שלה.
מידע נוסף זמין במאמר בנושא תצוגות חומריות מתמשכות.
תצוגות מורשות
תצוגות מורשות הן תצוגות של טבלאות שמוגדרות כך שיכללו נתונים ספציפיים מהטבלה, ואז ניתנת גישה אליהן בנפרד מהגישה לטבלת המקור. תצוגה מורשית מוגדרת על ידי קובץ הגדרה בפורמט JSON.
בניגוד לתצוגות חומריות רציפות או לתצוגות לוגיות, אפשר להשתמש בתצוגות מורשות של Bigtable כדי לשלוט בגישת קריאה ובגישת כתיבה.
תצוגות מורשות שימושיות במקרים שבהם מאחסנים נתונים של כמה לקוחות בטבלת Bigtable, ורוצים להעניק לכל לקוח גישה רק לקבוצת משנה של הטבלה שמכילה את הנתונים שלו.
תצוגות מורשות לא כרוכות בעלויות אחסון נוספות.
מידע נוסף זמין במאמר בנושא סקירה כללית על תצוגות מורשות.
השוואות
בטבלה הבאה מפורט מידע נוסף על ההבדלים בין תצוגות טבלה ב-Bigtable.
| תצוגות לוגיות | תצוגות עם פרמטרים | תצוגות מהותיות רציפות | תצוגות מורשות | |
|---|---|---|---|---|
| מבנה | טבלה וירטואלית שמייצגת את התוצאות של שאילתת SQL | טבלה וירטואלית שמייצגת את התוצאות של שאילתת SQL | טבלה לקריאה בלבד שמבוססת על טבלת מקור | קבוצת משנה של טבלה |
| הגדרה | שאילתת SQL | שאילתת SQL באמצעות VIEW_PARAMETERS() |
שאילתת SQL | קובץ הגדרה של JSON |
| עקביות עם טבלת המקור | עקביות כשמריצים את השאילתה | עקביות כשמריצים את השאילתה | מודל עקביות הדרגתי | עקביות כשמריצים את השאילתה |
| אפשרויות של שאילתות | חובה להשתמש ב-SQL | SQL | SQL או Bigtable Data API | Bigtable Data API |
| ניתן לכתיבה | לא | לא | לא | כן |
| אחסון | הנתונים נשארים בטבלת המקור | הנתונים נשארים בטבלת המקור | הנתונים משוכפלים, נצברים או עוברים שינוי ונשמרים בטבלה חדשה לקריאה בלבד | הנתונים נשארים בטבלת המקור |
| עלויות השימוש | עיבוד חישובים כדי להריץ את השאילתה | עיבוד חישובים כדי להריץ את השאילתה | עיבוד מחשוב בזמן סנכרון, עלויות אחסון | עיבוד חישובים כדי להריץ את השאילתה |