יצירה וניהול של טבלאות
טבלאות Bigtable מאפשרות לארגן ולאחסן נתונים בקנה מידה גדול לעומסי עבודה (workloads) של אפליקציות עם זמן אחזור קצר. אפשר ליצור ולנהל את הטבלאות האלה באמצעות מסוף Google Cloud , Google Cloud CLI, cbt CLI או באופן פרוגרמטי באמצעות ספריות הלקוח של Cloud Bigtable.
למידע נוסף על יצירה וניהול של תצוגות מורשות של טבלה, אפשר לעיין במאמר בנושא תצוגות מורשות.
לפני שמתחילים
אם אתם מתכננים לעבוד עם הטבלאות באמצעות כלי שורת פקודה, אתם צריכים לפעול לפי השלבים שמפורטים בקטע הזה.
מתקינים את ה-CLI של gcloud.
אופציונלי: אם אתם מתכננים להשתמש ב-CLI של
cbt, פועלים לפי ההוראות במאמר התקנת ה-CLI שלcbt, כולל השלב של יצירת קובץ.cbtrc.ההוראות ל-CLI של
cbtבדף הזה מניחות שהגדרתם את מזהה הפרויקט ואת מזהה המופע בקובץ.cbtrc. אפשר גם להשתמש בדגלים-projectו--instanceכדי להגדיר את הערכים האלה בכל פעם שמריצים פקודה ב-CLI שלcbt.
צור טבלה
כשיוצרים טבלה, לא צריך לציין את משפחות העמודות שבהן רוצים להשתמש בטבלה. אפשר להוסיף או למחוק משפחות עמודות בשלב מאוחר יותר.
המסוף
כדי ליצור טבלה חדשה במופע:
במסוף Google Cloud , פותחים את רשימת מופעי Bigtable.
לוחצים על המופע שרוצים לראות את הטבלאות שלו.
בחלונית הימנית, לוחצים על טבלאות.
בדף Tables מוצגת רשימה של טבלאות במופע.
לוחצים על Create table.
מזינים מזהה לטבלה.
אופציונלי: מוסיפים משפחות עמודות.
אפשר להוסיף עמודות עכשיו או מאוחר יותר. כדי לכתוב נתונים לטבלה או לקרוא ממנה סנכרון שינויים בזרמי נתונים, צריך להגדיר בה לפחות קבוצת עמודות אחת.
אופציונלי: מפעילים סנכרון שינויים בזרמי נתונים לטבלה. לפני שמפעילים את סנכרון שינויים בזרמי נתונים, חשוב להבין את ההשלכות, כולל עלויות אחסון מוגדלות ודרישות השימוש בפרופיל האפליקציה. פרטים נוספים זמינים במאמר סקירה כללית על זרמי שינויים.
בוחרים באפשרות הפעלת מקור נתונים לשינויים.
בשדה Retention time (משך השמירה), מזינים מספר מ-1 עד 7 כדי לציין את מספר הימים שבהם הנתונים של סנכרון שינויים בזרמי נתונים יישמרו.
אופציונלי: אם לא רוצים ש-Bigtable ייצור גיבוי יומי של הטבלה, מבטלים את הסימון בתיבה Enable automated backup (הפעלת גיבוי אוטומטי). מידע נוסף מופיע במאמר בנושא שימוש בגיבוי אוטומטי.
אופציונלי: מפעילים גישה לא תדירה לטבלה כחלק מאחסון מדורג (גרסת Preview):
בוחרים באפשרות הפעלת אחסון מדורג.
בשדה סף הגיל, מזינים את מספר הימים שאחריהם Bigtable מעביר נתונים מאחסון SSD לאחסון עם גישה לא תדירה. המספר חייב להיות 30 או יותר.
אופציונלי, מהדורת Enterprise Plus: כברירת מחדל, גיבוי יומי נוצר בכל האשכולות במופע של הטבלה. כדי לבחור אשכולות שבהם Bigtable צריך ליצור גיבוי יומי של הטבלה, בוחרים מיקומי אשכולות בשדה בחירת אשכולות לגיבוי. מידע נוסף זמין במאמר בנושא הגדרת מיקומים אוטומטיים של אשכולות גיבוי.
אופציונלי: כדי להגדיר סכימה של מפתח שורה, בוחרים באפשרות הגדרת סכימה של מפתח שורה ומבצעים את הפעולות הבאות:
ברשימה Encoding (קידוד), בוחרים סוג קידוד לסכימת מפתח השורה.
אם בחרתם באפשרות DelimitedBytes, בשדה Delimiter, מזינים תו מפריד שמפריד בין הפלחים במפתחות השורות הקיימים. ערך ברירת המחדל הוא סמל הגיבוב (
#).בשדה Segment, מזינים שם לפלח, כמו
device_type.ברשימה Type (סוג), בוחרים את סוג הנתונים של פלח מפתח השורה.
בהתאם לסוג הנתונים שנבחר, ברשימה Byte encoding, משאירים את סוג הקידוד שמוגדר כברירת מחדל עבור פלח מפתח השורה או משנים אותו.
אופציונלי: אם לפלח של מפתח השורה יש יותר מחלק אחד, לוחצים על הוספת פלח של מפתח השורה כדי להוסיף עוד שדות.
לוחצים על יצירה.
gcloud
כדי ליצור טבלה, מריצים את הפקודה הבאה. רשימת האפשרויות המלאה זמינה במאמר בנושא gcloud bigtable instances tables create.
gcloud bigtable instances tables create TABLE_ID \
--instance=INSTANCE_ID \
--project=PROJECT_ID \
--column-families=COLUMN-FAMILIES
מחליפים את מה שכתוב בשדות הבאים:
- TABLE_ID: מזהה ייחודי של הטבלה החדשה
- INSTANCE_ID: המזהה של המכונה
- PROJECT_ID: הפרויקט שיכיל את הטבלה החדשה
- COLUMN-FAMILIES: רשימה מופרדת בפסיקים של שמות של משפחות עמודות. אפשר להוסיף עוד משפחות עמודות בהמשך.
אופציונלי:
כדי להגן על הטבלה מפני מחיקה, מוסיפים את הפקודה
--deletion-protection. אם לא תחיל את ההגדרה הזו, אפשר יהיה למחוק את הטבלה. אפשר גם לאפשר מחיקה של טבלה באופן מפורש על ידי הוספת--no-deletion-protection.כדי להפעיל סנכרון שינויים בזרמי נתונים בטבלה, מציינים תקופת שמירה לנתוני סנכרון שינויים בזרמי נתונים. לפני שמפעילים סנכרון שינויים בזרמי נתונים, חשוב להבין את ההשלכות, כולל עלות האחסון ודרישות השימוש בפרופיל האפליקציה. פרטים נוספים זמינים במאמר סקירה כללית של זרמי שינויים.
--change-stream-retention-period=RETENTION_PERIODמחליפים את הערך RETENTION_PERIOD באורך הזמן שבו Bigtable צריך לשמור את נתוני סנכרון שינויים בזרמי נתונים של הטבלה. משך הזמן חייב להיות בין יום אחד לשבעה ימים. היחידות הקבילות הן ימים (d), שעות (h), דקות (m) ושניות (s). דוגמאות:
48hאו6dכדי לאפשר ל-Bigtable ליצור גיבוי יומי של הטבלה ולשמור כל גיבוי למשך תקופת השמירה שמוגדרת כברירת מחדל של שבעה ימים, משתמשים בדגל
--enable-automated-backupכשיוצרים את הטבלה.gcloud bigtable instances tables create TABLE_ID \ --instance=INSTANCE_ID \ --project=PROJECT_ID \ --column-families=COLUMN-FAMILIES \ --enable-automated-backupכדי להגדיר תקופת שמירה שונה, משתמשים בדגל
--automated-backup-retention-periodבמקום בדגל--enable-automated-backupומזינים ערך של עד 90 יום. הערך חייב להיות מספר עם יחידת זמן שלm,hאוd(דקות, שעות או ימים), למשל15dל-15 ימים.מהדורת Enterprise Plus: כברירת מחדל, גיבוי יומי נוצר בכל האשכולות במופע של הטבלה. כדי להגדיר מיקומי אשכולות שבהם Bigtable צריך ליצור גיבוי יומי של הטבלה, משתמשים בדגל
--automated-backup-locationsבמקום בדגל--enable-automated-backup. צריך לציין רשימה מופרדת בפסיקים של מיקומי אשכולות שבהם צריך להפעיל את הגיבוי האוטומטי. דוגמה:us-central1-a,us-east1-b,europe-west1-c.כדי להפעיל גישה לא תדירה כחלק מאחסון מדורג (גרסת Preview), משתמשים בדגל
--tiered-storage-infrequent-access-older-thanומחליפים את AGE_THRESHOLD בערך של 30 ימים לפחות. יחידות הזמן הקבילות הן ימים (d), שעות (h), דקות (m) ושניות (s). דוגמה:32dאו32d12h.gcloud beta bigtable instances tables create TABLE_ID \ --instance=INSTANCE_ID \ --project=PROJECT_ID \ --tiered-storage-infrequent-access-older-than=AGE_THRESHOLD
cbt
משתמשים בפקודה הבאה ומחליפים את TABLE_NAME בשם הטבלה: אי אפשר להשתמש ב-CLI cbt כדי ליצור טבלה עם הפעלה של סנכרון שינויים בזרמי נתונים.
cbt createtable TABLE_ID
אופציונלי: כדי ליצור משפחה של עמודות מצטברות בטבלה, מוסיפים את סוג הצבירה לשם משפחת העמודות. בדוגמה הבאה נוצרת משפחת עמודות מצטברת עם מדיניות איסוף אשפה של never.
cbt createtable TABLE_ID families=FAMILY_NAME:never:TYPE
מחליפים את מה שכתוב בשדות הבאים:
- TABLE_ID: מזהה ייחודי של הטבלה החדשה
- FAMILY_NAME: : רשימה מופרדת בפסיקים של שמות של משפחות עמודות. אפשר להוסיף עוד משפחות עמודות בהמשך.
- TYPE: סוג הצבירה. הערך חייב להיות
intsum,intmin,intmaxאוinthll.
אפשרויות נוספות מפורטות במאמר יצירת טבלה בחומר העזר בנושא cbt CLI.
אם מחקתם טבלה בטעות, אל תנסו ליצור את הטבלה שנמחקה באופן ידני. משתמשים ב-CLI של gcloud bigtable instances tables undelete כדי לשחזר את הטבלה.
אופציונלי: פיצול הטבלה לפי מפתח שורה
כדי לשפר את הביצועים, Bigtable מפצל טבלאות באופן רציף בין כמה צמתים, מחלק באופן שווה את כמות הנתונים שמאוחסנת בכל צומת, ושומר על שורות שניגשים אליהן לעיתים קרובות במקומות נפרדים ככל האפשר. התהליך הזה מתבצע באופן אוטומטי.
כשיוצרים טבלה חדשה, אפשר לציין פיצולים ראשוניים של הטבלה. Bigtable מפצל את הטבלה במפתחות השורות שאתם מספקים. אם מרחבי המפתחות גדולים מדי, Bigtable מפצל את הטבלה עוד יותר. הפיצולים הראשוניים נשמרים למשך כ-24 שעות אחרי שהטבלה נוצרת. אפשר לספק עד 100 מפתחות שורות שבהם יתרחשו הפיצולים הראשוניים.
לדוגמה, אתם יכולים להגדיר שורות ספציפיות כדי לפצל מראש את הטבלה אם אתם עומדים לכתוב הרבה שורות בטבלה.
פיצול מראש של הטבלה הוא לא חובה, אבל הוא מועיל כי הוא מספק ל-Bigtable מידע על המיקום שבו צפויים להיות העומס וטביעת הרגל של הנתונים כשהטבלה נוצרת. הפיצול המוקדם מונע מ-Bigtable לפצל את הטבלאות ולאזן מחדש את העומס בבת אחת כשהנתונים מגיעים.
המסוף
אי אפשר לפצל מראש את השורות כשיוצרים טבלה באמצעותGoogle Cloud המסוף.
gcloud
כדי לפצל טבלה לפי מפתח שורה, מריצים את הפקודה הבאה. רשימת האפשרויות המלאה זמינה במאמר בנושא gcloud bigtable instances tables create.
gcloud bigtable instances tables create TABLE_ID\
--instance=INSTANCE_ID \
--project=PROJECT_ID \
--column-families=COLUMN-FAMILIES \
--splits=SPLITS
מחליפים את מה שכתוב בשדות הבאים:
- TABLE_ID: מזהה ייחודי של הטבלה החדשה
- INSTANCE_ID: המזהה של המכונה
- PROJECT_ID: הפרויקט שיכיל את הטבלה החדשה
- COLUMN-FAMILIES: רשימה מופרדת בפסיקים של שמות של משפחות עמודות. אפשר להוסיף עוד משפחות עמודות בהמשך.
- SPLITS: מפתחות השורות שבהן הטבלה אמורה להתפצל בהתחלה, לדוגמה
10,20.
cbt
כדי לפצל מראש טבלה על סמך מפתח השורה, משתמשים בתחביר הבא כדי ליצור את הטבלה. מחליפים את [TABLE_NAME] בשם הטבלה ואת [SPLITS] ברשימה מופרדת בפסיקים של קידומות של מפתחות שורות שבהן רוצים להשתמש לפיצול מראש.
```none
cbt createtable [TABLE_NAME] splits=[SPLITS]
```
לדוגמה, כדי לפצל מראש את הטבלה my-table לפי מפתחות שורה שמתחילים ב-10 וב-20:
```none
cbt createtable my-table splits=10,20
```
שינוי של משפחות עמודות בטבלה
אפשר להוסיף קבוצות עמודות כשיוצרים טבלה או לטבלה קיימת. אם ההגנה מפני מחיקה לא מופעלת בטבלה, אפשר למחוק קבוצות עמודות בטבלה.
הוספת משפחות עמודות
המסוף
הוספת משפחות עמודות לטבלה חדשה
בחלונית Create table (יצירת טבלה), לוחצים על Add a column family (הוספת קבוצת עמודות) לכל קבוצת עמודות שרוצים להוסיף.
בשדה שם קבוצת העמודות, מזינים מזהה ייחודי לקבוצת העמודות.
בוחרים את סוג קבוצת העמודות:
- סטנדרטי: יוצר משפחת עמודות סטנדרטית המנוהלת על ידי מדיניות איסוף אשפה.
- Aggregate: יוצרת משפחת עמודות שמצברת נתונים באופן אוטומטי בזמן הכתיבה. אתם יכולים להגדיר מדיניות ספציפית לאיסוף נתונים לא רלוונטיים עבור הצבירה כדי לנהל את מדיניות שמירת הנתונים, כמו קטגוריות זמן.
אם בחרתם באפשרות Aggregate, בשדה Aggregator בוחרים באחת מהאפשרויות הבאות:
- Sum: מחשבת את סכום כל ערכי התאים.
- Min: צובר את הערך המינימלי בתא.
- מקסימום: צובר את הערך המקסימלי בתא.
- HyperLogLog: צובר את הקרדינליות המשוערת של ערכי התאים.
הגדרת מדיניות איסוף האשפה עבור משפחת העמודות.
לוחצים על סיום.
הוספת משפחות עמודות לטבלה קיימת
במסוף Google Cloud , פותחים את רשימת מופעי Bigtable.
לוחצים על המופע שרוצים לראות את הטבלאות שלו.
בחלונית הימנית, לוחצים על טבלאות.
בדף Tables מוצגת רשימה של טבלאות במופע.
לוחצים על עריכה בטבלה שרוצים לשנות.
לכל קבוצת עמודות שרוצים להוסיף, מבצעים את הפעולות הבאות:
- לוחצים על הוספת משפחת עמודות.
- בשדה שם קבוצת העמודות, מזינים מזהה ייחודי של קבוצת העמודות.
בוחרים את סוג קבוצת העמודות:
- סטנדרטי: יוצר משפחת עמודות סטנדרטית המנוהלת על ידי מדיניות איסוף אשפה.
- Aggregate: יוצרת משפחת עמודות שמצברת נתונים באופן אוטומטי בזמן הכתיבה. אתם יכולים להגדיר מדיניות ספציפית לאיסוף נתונים לא רלוונטיים עבור הצבירה כדי לנהל את מדיניות שמירת הנתונים, כמו קטגוריות זמן.
אם בחרתם באפשרות Aggregate, בשדה Aggregator, בוחרים באחת מהאפשרויות הבאות:
- Sum: מחשבת את סכום כל ערכי התאים.
- Min: צובר את הערך המינימלי בתא.
- מקסימום: צובר את הערך המקסימלי בתא.
- HyperLogLog: צובר את הקרדינליות המשוערת של ערכי התאים.
הגדרת מדיניות איסוף האשפה עבור משפחת העמודות.
לוחצים על סיום.
לוחצים על Save.
gcloud
אי אפשר להשתמש ב-CLI של gcloud כדי להוסיף משפחות עמודות לטבלה.
cbt
כדי להוסיף קבוצת עמודות לטבלה, משתמשים בפקודה הבאה:
cbt createfamily TABLE_ID FAMILY_NAME
לדוגמה, כדי להוסיף את קבוצות העמודות cf1 ו-cf2 לטבלה my-table:
cbt createfamily my-table cf1
cbt createfamily my-table cf2
אופציונלי: כדי להוסיף עמודה מצטברת
משפחתית לטבלה, מוסיפים את שם משפחת העמודה עם סוג הצבירה. הפקודה הבאה יוצרת טבלה עם קבוצת עמודות מצטברת עם מדיניות איסוף אשפה של never.
cbt createfamily TABLE_ID FAMILY_NAME:never:TYPE
מחליפים את מה שכתוב בשדות הבאים:
- TABLE_ID: מזהה הטבלה
- FAMILY_NAME: : רשימה מופרדת בפסיקים של שמות של משפחות עמודות. אפשר להוסיף עוד משפחות עמודות בהמשך.
- TYPE: סוג הצבירה. הערך חייב להיות
intsum,intmin,intmaxאוinthll.
מחיקת משפחות עמודות
אפשר למחוק משפחות עמודות בטבלה שלא מופעלת בה הגנה מפני מחיקה.
המסוף
במסוף Google Cloud , פותחים את רשימת מופעי Bigtable.
לוחצים על המופע שרוצים לראות את הטבלאות שלו.
בחלונית הימנית, לוחצים על טבלאות.
בדף Tables מוצגת רשימה של טבלאות במופע.
לוחצים על עריכה בטבלה שרוצים לשנות.
לכל קבוצת עמודות שרוצים למחוק, מבצעים את הפעולות הבאות:
- מעבירים את העכבר מעל השורה של קבוצת העמודות שרוצים למחוק.
- לחץ על .
לוחצים על Save.
כדי לאשר שהבנתם שמחיקה של משפחת עמודות היא פעולה בלתי הפיכה וכל הנתונים במשפחת העמודות יימחקו, מקלידים 'מחיקת משפחות עמודות' בשדה הטקסט.
לוחצים על אישור.
gcloud
אי אפשר להשתמש ב-CLI של gcloud כדי למחוק משפחות עמודות מטבלה.
cbt
כדי למחוק קבוצת עמודות מטבלה, משתמשים בפקודה הבאה, ומחליפים את [TABLE_NAME] בשם הטבלה ואת [FAMILY_NAME] בשם קבוצת העמודות:
cbt deletefamily [TABLE_NAME] [FAMILY_NAME]
לדוגמה, כדי למחוק את קבוצת העמודות cf2 מהטבלה my-table:
cbt deletefamily my-table cf2
צפייה ברשימת הטבלאות
המסוף
כדי לראות רשימה של טבלאות במופע:
במסוף Google Cloud , פותחים את רשימת מופעי Bigtable.
לוחצים על המופע שרוצים לראות את הטבלאות שלו.
בחלונית הימנית, לוחצים על טבלאות.
בדף Tables מוצגת רשימה של טבלאות במופע.
- לוחצים על החץ שליד מזהה הטבלה כדי להרחיב את רשימת השכפולים של הטבלה.
- לוחצים על View Metrics (הצגת מדדים) לצד שם של טבלה כדי לראות את נתוני התובנות של המערכת לגבי הטבלה.
gcloud
כדי לראות רשימה של טבלאות, מריצים את הפקודה gcloud bigtable instances tables list.
gcloud bigtable instances tables list --instances=INSTANCE_IDS
מחליפים את מה שכתוב בשדות הבאים:
- INSTANCE_IDS: רשימה מופרדת בפסיקים של מזהי מופעים.
cbt
כדי להציג רשימת טבלאות במופע, מריצים את הפקודה הבאה:
cbt ls INSTANCE_ID
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_ID: המזהה הקבוע של המופע.
C++
מידע על התקנת ספריית הלקוח של Bigtable ושימוש בה מופיע במאמר ספריות הלקוח של Bigtable.
כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
C#
מידע על התקנת ספריית הלקוח של Bigtable ושימוש בה מופיע במאמר ספריות הלקוח של Bigtable.
כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
מידע על התקנת ספריית הלקוח של Bigtable ושימוש בה מופיע במאמר ספריות הלקוח של Bigtable.
כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
מידע על התקנת ספריית הלקוח של Bigtable ושימוש בה מופיע במאמר ספריות הלקוח של Bigtable.
כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
PHP
מידע על התקנת ספריית הלקוח של Bigtable ושימוש בה מופיע במאמר ספריות הלקוח של Bigtable.
כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנת ספריית הלקוח של Bigtable ושימוש בה מופיע במאמר ספריות הלקוח של Bigtable.
כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Ruby
מידע על התקנת ספריית הלקוח של Bigtable ושימוש בה מופיע במאמר ספריות הלקוח של Bigtable.
כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
איך צופים במידע על טבלה
המסוף
כדי לראות מידע על טבלה:
במסוף Google Cloud , פותחים את רשימת מופעי Bigtable.
לוחצים על המופע שרוצים לראות את הטבלאות שלו.
בחלונית הימנית, לוחצים על טבלאות.
בדף Tables מוצגת רשימה של טבלאות במופע. בכל טבלה, Google Cloud במסוף מוצג מספר האשכולות שבהם הטבלה מאוחסנת, הסטטוס של הטבלה, ניצול האחסון והמזהים של הגיבויים הנוכחיים של הטבלה. בטבלאות שמופעל בהן אחסון בשכבות (גרסת Preview), אפשר לראות את ניצול האחסון ב-SSD ואת ניצול האחסון בגישה לא תדירה.
כדי לראות את השמות של משפחות העמודות בטבלה, לוחצים על . כדי לסגור את החלונית עריכת הטבלה, לוחצים על ביטול.
כדי לראות פרטים נוספים על הטבלה, כולל מדדים ברמת הטבלה ומצב השכפול, לוחצים על שם הטבלה.
gcloud
כדי לראות מידע על טבלה, מריצים את הפקודה
gcloud bigtable instances tables describe.
gcloud bigtable instances tables describe TABLE_ID \
--instance=INSTANCE_ID
מחליפים את מה שכתוב בשדות הבאים:
- TABLE_ID: מזהה ייחודי של הטבלה
- INSTANCE_ID: המזהה של המכונה
cbt
אפשר להשתמש ב-cbt CLI
כדי לקבל רשימה של משפחות עמודות קיימות
בטבלה.
משתמשים בפקודה הבאה ומחליפים את [TABLE_NAME] בשם הטבלה:
cbt ls [TABLE_NAME]
הגדרת מדיניות Garbage Collection
מדיניות איסוף נתונים מיותרים קובעת ב-Bigtable אילו נתונים יישמרו ואילו נתונים יסומנו למחיקה. מגדירים מדיניות של איסוף נתונים מיותרים ברמת קבוצת העמודות כשיוצרים את הטבלה או בשלב מאוחר יותר.
כשיוצרים קבוצת עמודות, אפשר לציין את מספר התאים שרוצים לשמור בכל עמודה בקבוצת העמודות הזו. אם לא מציינים את ההגדרה הזו, Bigtable משתמש באחת מההגדרות הבאות שמוגדרות כברירת מחדל:
אם יוצרים את משפחת העמודות באמצעות לקוח Cloud Bigtable HBase ל-Java או מעטפת HBase, או כלי אחר שמשתמש בלקוח HBase ל-Java, Bigtable שומר רק תא אחד לכל שורה או לכל נקודת חיתוך של עמודה במשפחת העמודות. הגדרת ברירת המחדל הזו עקבית עם HBase.
אם יוצרים את משפחת העמודות באמצעות מסוף Google Cloud , כל ספריית לקוח אחרת או
cbtCLI , Bigtable שומר מספר אינסופי של תאים בכל עמודה.
הוראות מפורטות לצפייה במדיניות בנושא איסוף נתונים, להגדרת מדיניות כזו ולעדכונה זמינות במאמר בנושא הגדרת מדיניות בנושא איסוף נתונים.
גיבוי ושחזור של טבלה
הוראות לגיבוי טבלה ולשחזור מטבלה מגובת לטבלה חדשה מפורטות במאמר בנושא ניהול גיבויים.
אם הפעלתם גיבוי אוטומטי כשאתם יוצרים טבלה, אתם יכולים לשנות את ההגדרה של הגיבוי האוטומטי של הטבלה כדי להפעיל או להשבית את הגיבוי האוטומטי, או לשנות את תקופת השמירה לפרק זמן של עד 90 ימים. מידע נוסף זמין במאמר בנושא שימוש בגיבוי אוטומטי.
הפעלה, השבתה או הגדרה של סנכרון שינויים בזרמי נתונים
הוראות לביצוע המשימות הבאות מופיעות במאמר הגדרת סנכרון שינויים בזרמי נתונים.
- הפעלת סנכרון שינויים בזרמי נתונים בטבלה קיימת
- השבתה של סנכרון שינויים בזרמי נתונים
- עדכון תקופת השמירה של סנכרון שינויים בזרמי נתונים
מחיקת טבלה
אם מוחקים טבלה, גם כל התצוגות המורשות של הטבלה נמחקות. אם הפעלתם הגנה מפני מחיקה בתצוגות מורשות של הטבלה, לא תוכלו למחוק את הטבלה. בנוסף, אי אפשר למחוק טבלה שיש בה תצוגה חומרית רציפה שמבוססת עליה.
המסוף
במסוף Google Cloud , פותחים את רשימת מופעי Bigtable.
לוחצים על המופע שרוצים לראות את הטבלאות שלו.
בחלונית הימנית, לוחצים על טבלאות.
בדף Tables מוצגת רשימה של טבלאות במופע.
לוחצים על בטבלה שרוצים למחוק.
לוחצים על Delete.
כדי לאשר שאתם מבינים שהפעולה הזו תמחק את הטבלה מכל האשכולות במופע, ושיש לכם רק שבעה ימים לבטל את המחיקה של הטבלה, מקלידים את מזהה הטבלה בתיבה מחיקת טבלה.
לוחצים על Delete.
gcloud
כדי למחוק טבלאות, מריצים את הפקודה
gcloud bigtable instances tables delete.gcloud bigtable instances tables delete TABLE_ID --instance=INSTANCE_IDמחליפים את מה שכתוב בשדות הבאים:
- TABLE_ID: המזהה הייחודי של הטבלה
- INSTANCE_ID: המזהה של המכונה
בטרמינל, מזינים
yכדי לאשר את מחיקת הטבלה.
cbt
כדי למחוק טבלה, משתמשים בפקודה הבאה ומחליפים את [TABLE_NAME] בשם הטבלה:
cbt deletetable [TABLE_NAME]
ביטול מחיקה של טבלה
אם מוחקים טבלה בטעות, אפשר להשתמש בפקודה bigtable instances tables undelete של gcloud CLI כדי לבטל את המחיקה או לשחזר את הטבלה. אל תנסו ליצור מחדש את הטבלה שנמחקה באופן ידני.
כדי לבטל מחיקה של טבלה, מריצים את הפקודה הבאה במסוף:
gcloud bigtable instances tables undelete TABLE_ID --instance=INSTANCE_ID
מחליפים את מה שכתוב בשדות הבאים:
- TABLE_ID: המזהה הייחודי של הטבלה
- INSTANCE_ID: המזהה של המכונה
כשמשחזרים טבלה, Bigtable מפעיל אוטומטית את ההגנה מפני מחיקה עבור הטבלה.
ההגבלות הבאות חלות:
- אפשר לבטל את המחיקה של טבלה במשך שבעה ימים ממועד המחיקה.
- אי אפשר לבטל מחיקה של טבלה באמצעות מסוף Google Cloud , ספריות הלקוח של Cloud Bigtable או
cbtCLI. - אי אפשר לבטל את המחיקה של טבלה ממופע שנמחק.
- אי אפשר לבטל את המחיקה של טבלה שהופעל בה CMEK.
- כשמשחזרים טבלה שנמחקה, Bigtable לא משחזר קישורים של מדיניות IAM עם הרשאות גרנולריות לטבלה שנמחקה.
אפשר גם לבדוק את הסטטוס של הפעולה undelete ביומני הביקורת.
שינוי ההגנה מפני מחיקה
אם אתם חשבון משתמש בתפקיד שכולל את ההרשאה bigtable.tables.update, כמו roles/bigtable.admin, אתם יכולים להפעיל או להשבית את ההגנה מפני מחיקה של טבלה. הגנה מפני מחיקה מונעת את המחיקה של הטבלה, של כל משפחות העמודות בטבלה ושל המופע שמכיל את הטבלה.
הפעלת הגנה מפני מחיקה של טבלה לא מפעילה אותה בתצוגות מורשות של הטבלה. באופן דומה, השבתת ההגנה מפני מחיקה של טבלה לא משביתה אותה בתצוגות מורשות של הטבלה. צריך לעדכן בנפרד את התצוגות המורשות של הטבלה.
המסוף
במסוף Google Cloud , פותחים את רשימת מופעי Bigtable.
לוחצים על המופע שרוצים לראות את הטבלאות שלו.
בחלונית הימנית, לוחצים על טבלאות.
בדף Tables מוצגת רשימה של טבלאות במופע.
לוחצים על לצד מזהה הטבלה.
כדי להפעיל את ההגנה מפני מחיקה, לוחצים על מניעת מחיקה. כדי להשבית את ההגנה מפני מחיקה, לוחצים על הפעלת מחיקה. רק האפשרות התקפה מוצגת.
gcloud
כדי להפעיל הגנה מפני מחיקה של טבלה, מריצים את הפקודה gcloud bigtable instances
table update:
```sh
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--deletion-protection
```
כדי להשבית את ההגנה מפני מחיקה של טבלה, מריצים את הפקודה הבאה:
```sh
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--no-deletion-protection
```
מחליפים את מה שכתוב בשדות הבאים:
+ TABLE_ID: the unique identifier for the table
+ INSTANCE_ID: the ID of the instance
cbt
אי אפשר להשתמש ב-CLI של cbt כדי להפעיל או להשבית את ההגנה מפני מחיקה.
שינוי סף הגיל של אחסון עם גישה לא תדירה
אפשר לשנות את סף הגיל של גישה לא תדירה שכלולה באחסון מדורג בכל שלב.
המסוף
במסוף Google Cloud , פותחים את רשימת מופעי Bigtable.
לוחצים על המופע שרוצים לראות את הטבלאות שלו.
בחלונית הימנית, לוחצים על טבלאות.
בדף Tables מוצגת רשימה של טבלאות במופע.
לוחצים על עריכה בטבלה שרוצים לשנות.
בשדה סף הגיל, מזינים את מספר הימים החדש שאחריו Bigtable מעביר נתונים מאחסון ה-SSD לאחסון עם גישה לא תדירה. המספר חייב להיות 30 או יותר.
gcloud
כדי לשנות את סף הגיל של אחסון עם גישה לא תדירה, מריצים את הפקודה gcloud beta bigtable instances tables update עם הדגל --tiered-storage-infrequent-access-older-than:
gcloud beta bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--project=PROJECT_ID \
--tiered-storage-infrequent-access-older-than=AGE_THRESHOLD
מחליפים את מה שכתוב בשדות הבאים:
- TABLE_ID: המזהה של הטבלה שרוצים לעדכן.
- INSTANCE_ID: מזהה המכונה.
- PROJECT_ID: הפרויקט שמכיל את הטבלה שרוצים לעדכן.
- AGE_THRESHOLD: סף הגיל, שחייב להיות 30 ימים לפחות. היחידות הקבילות הן ימים (
d), שעות (h), דקות (m) ושניות (s). לדוגמה: מ-32dל-33d.
השבתת אחסון לגישה לא תדירה
אפשר להשבית את הגישה הלא תדירה לאחסון מדורג בכל שלב. כתוצאה מכך, Bigtable מעביר את כל הנתונים באחסון עם גישה לא תדירה לאחסון SSD. לפני שמשביתים את האחסון בגישה לא תדירה, חשוב להבין את ההשלכות על העלויות.
המסוף
במסוף Google Cloud , פותחים את רשימת מופעי Bigtable.
לוחצים על המופע שרוצים לראות את הטבלאות שלו.
בחלונית הימנית, לוחצים על טבלאות.
בדף Tables מוצגת רשימה של טבלאות במופע.
לוחצים על עריכה בטבלה שרוצים לשנות.
מבטלים את הסימון בתיבת הסימון הפעלת אחסון בשכבות.
לוחצים על Save.
gcloud
כדי להשבית את האחסון בגישה לא תדירה, משתמשים בפקודה gcloud beta bigtable instances tables update עם הדגל --clear-tiered-storage-config:
gcloud beta bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--project=PROJECT_ID \
--clear-tiered-storage-config
מחליפים את מה שכתוב בשדות הבאים:
- TABLE_ID: המזהה של הטבלה שרוצים לעדכן
- INSTANCE_ID: המזהה של המכונה
- PROJECT_ID: הפרויקט שמכיל את הטבלה שרוצים לעדכן
המאמרים הבאים
- איך מייבאים ומייצאים נתונים לטבלה וממנה.