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