בדף הזה נסביר מהי חלוקה למחיצות במיקומים שונים ואיך היא פועלת ב-Spanner.
ב-Spanner יש הגדרות של מכונות אזוריות ומכונות במספר אזורים, שמאפשרות ליצור רפליקות של הנתונים במיקומים גיאוגרפיים שונים. חלוקה למחיצות במיקומים שונים מאפשרת לפלח עוד יותר את השורות בטבלה של מסד הנתונים ולאחסן אותן בהגדרות שונות של מכונות.
יתרונות ותרחישים לדוגמה
חלוקה למחיצות במיקומים שונים מאפשרת לחלק את השורות במסד הנתונים למחיצות, וכך ליהנות מהיתרונות הבאים:
- זמן אחזור אזורי במסד נתונים גלובלי: באמצעות חלוקה למחיצות במיקומים שונים, Spanner מנהל את הנתונים במסד נתונים אחד מאוחד במיקומים שונים, תוך הבטחת זמן אחזור קצר לגישה אזורית. השימוש בחלוקה למחיצות במיקומים שונים מפשט את הפעולות ומפחית את המורכבות בהשוואה לניהול של כמה מסדי נתונים מפוצלים.
- יכולות של מסד נתונים גלובלי: חלוקה למחיצות במיקומים שונים מציעה תכונות של מסד נתונים כמו טרנזקציות גלובליות, העברת נתונים בין אזורים ואכיפת ייחודיות באזורים גיאוגרפיים שונים.
- תאימות למיקום אחסון הנתונים: ב-Spanner יש התחייבויות למיקום אחסון הנתונים ברמת המיקום. מידע נוסף זמין במאמר תאימות של מיקום אחסון הנתונים למסדי נתונים שמשתמשים בחלוקה למחיצות במיקומים שונים.
אלה תרחישי שימוש נפוצים:
נתונים שקשורים למשתמשים: חלוקה למחיצות במיקומים שונים של נתונים שקשורים למשתמשים, כדי לעבד ולאחסן את הנתונים באזור שהכי קרוב למשתמש.
נתונים מקומיים: מידע ספציפי למיקום, כמו תנועה ואירועים מיוחדים.
איך פועלת החלוקה למחיצות במיקומים שונים
לכל המכונות של Spanner יש מחיצה ראשית שנקראת default. אם לא יוצרים מחיצות נוספות של המכונה, כל האובייקטים של מסד הנתונים מאוחסנים במחיצת ברירת המחדל, שנמצאת באותו מיקום כמו הגדרת המכונה. אם רוצים לחלק את הנתונים במסד נתונים, צריך ליצור מחיצות נוספות במכונה.
כדי להשתמש בחלוקה למחיצות במיקומים שונים במסד נתונים:
ליצור מחיצות נוספות במכונה. למחיצות האלה יש הגדרות משלהן (אזוריות או במספר אזורים) ומספר צמתים משלהן.
יוצרים את מסד הנתונים כמו שיוצרים בדרך כלל. למסד הנתונים יש מיקום ברירת מחדל שמשויך למחיצת ברירת המחדל של המכונה.
יוצרים מיקומים במסד הנתונים שמשויכים למחיצות הנוספות של המופע. מסד הנתונים יכול לקיים אינטראקציה עם המחיצות הנוספות שנוצרו באותו מכונה.
יוצרים טבלאות של מיקומי מודעות שיש להן מאפיין מפתח של מיקום מודעה. כדי לציין באיזו מחיצה של המכונה נמצאים נתוני השורה, צריך להשתמש במפתח המיקום בפקודות ה-DML. אם יוצרים טבלאות ללא מיקום במסד הנתונים, Spanner מאחסן את הנתונים האלה במחיצת ברירת המחדל של המכונה.
מפתח המיקום של כל שורה בטבלת מיקומים צריך להיות מוקצה לאחד מהבאים:
ערך שתואם לשם של אחד מהמיקומים שהמשתמשים יצרו והוגדרו במסד הנתונים הזה, או
ערך המפתח של המיקום,
default, שבו הנתונים נשמרים במיקום ברירת המחדל.
הוראות לשימוש במחיצות של מכונות זמינות במאמר יצירה וניהול של מחיצות של מכונות.
שיקולים חשובים
לפני שיוצרים את המחיצות, המיקומים וטבלאות המיקומים של המכונה, כדאי להביא בחשבון את הדברים הבאים:
מיקום המחיצה של המכונה: חשוב לבחור בקפידה את האזורים של המחיצות של המכונות, כדי שהאפליקציה תפעל בצורה הכי יעילה.
צריך ליצור מחיצות של מכונות במכונה עם הגדרה של מכונה במספר אזורים.
כדי לשפר את זמן האחזור, מומלץ לבחור מיקום ברירת מחדל של מחיצת מכונה במספר אזורים, שיש בו אזורים לקריאה-כתיבה ולקריאה בלבד שמכסים את כל תחומי השיפוט שהאפליקציה דורשת. אחר כך יוצרים מחיצות נוספות של מכונות (שיכולות להיות אזוריות) עם אזורים ראשיים שתואמים לאזורים במחיצת ברירת המחדל של המכונה במספר אזורים.
מספר המחיצות של המכונה: יותר מדי מחיצות של המכונה יכולות להוביל לתקורה, ומעט מדי מחיצות לא יספקו מספיק יתרונות. אפשר ליצור עד 20 מחיצות לכל מכונה. מידע נוסף על המגבלות של חלוקה למחיצות במיקומים שונים זמין במאמר מגבלות של חלוקה למחיצות במיקומים שונים.
מגבלות
המגבלות הבאות חלות במהלך גרסת טרום-השקה (Preview), ויכול להיות שהן ישתנו או יוסרו בגרסת הזמינות הכללית (GA) או אחריה:
- מחיצת ברירת המחדל של המכונה חייבת להיות מוגדרת במספר אזורים.
- המחיצה הנוספת של המכונה חייבת להיות מוגדרת במספר אזורים.
- אי אפשר ליצור מחיצה של מכונה באמצעות הגדרה של שני אזורים.
- לכל מחיצה של מכונה, קיבולת המחשוב צריכה להיות לפחות צומת אחד (1,000 יחידות עיבוד).
- במכונה נתונה, אי אפשר ליצור יותר ממחיצה אחת שמשתמשת באותה הגדרת מכונה בסיסית. לדוגמה, בתוך
test-instance, אי אפשר ליצור שתי מחיצות,partition-1ו-partition-2, ששתיהן משתמשות ב-us-central1בתור הגדרת המחיצה של המכונה. - בכל צומת במחיצת המכונה אפשר להציב עד 100 מיליון שורות מיקום. בדף Instance partitions במסוף Google Cloud אפשר לראות את מספר השורות של מיקומי המודעות שהוצבו בכל אחת מהמחיצות של המכונה.
- בכל צומת במחיצה של מכונת היעד, Spanner יכול להעביר כ-10 שורות מיקום בשנייה.
- אי אפשר ליצור גיבויים מצטברים או להעתיק את הגיבוי.
- אי אפשר להפעיל התאמה אסימטרית לקריאה בלבד לעומס במחיצות של מכונות שאינן ברירת המחדל.
- אי אפשר להעביר את המחיצה הנוספת למערך אחר של הגדרות אישיות של מכונה.
- אי אפשר להעביר מכונה שיש בה מסדי נתונים שמשתמשים במיקומים נוספים שמפנים למחיצת ברירת המחדל של המכונה.
- אם משתמשים בפקודת DML מסוג
INSERTאוDELETEבטבלת מיקום, הפקודה הזו חייבת להיות הפקודה היחידה בטרנזקציה. - מצב העסקה לקריאה ולכתיבה מאפשר להפנות רק למפתחות הראשיים של טבלת מיקום בסעיף
WHERE. אם אתם צריכים להפנות לעמודה של מפתח לא ראשי בטבלת מיקום בסעיףWHERE, אתם יכולים להשתמש באחת מהאפשרויות הבאות:- אם אתם צריכים רק הרשאת קריאה בלבד, עברו למצב טרנזקציה לקריאה בלבד.
- אם אתם צריכים לבצע עדכונים, השתמשו במצב העסקה של DML מחולק למחיצות, או חפשו את המפתחות הראשיים בשאילתת עסקה לקריאה בלבד, ואז, בעסקת קריאה-כתיבה נפרדת, הפנו למפתחות הראשיים שהוחזרו בסעיף
WHERE.
- אי אפשר להשתמש בסכימות עם שם.
- אי אפשר ליצור מחיצות של מכונות במכונות לתקופת ניסיון בחינם או במכונות בגודל פרטני שקטנות מצומת אחד (1,000 יחידות עיבוד).
- אי אפשר לשנות מיקום מודעה. במקום זאת, אתם יכולים ליצור מיקום חדש, להשתמש ב-DML מחולק למחיצות כדי לעדכן את מיקום הנתונים למיקום חדש, ואז למחוק את המיקום המקורי.
בקרת גישה באמצעות IAM
כדי ליצור ולנהל מחיצות של מכונות, צריכות להיות לכם ההרשאות spanner.instancePartitions.create, spanner.instancePartitions.update ו-spanner.instancePartitions.delete. אם אתם רק צריכים לראות את המחיצות של המכונה, אתם צריכים את ההרשאה spanner.instancePartitions.list או spanner.instancePartitions.get. למידע נוסף, קראו את הסקירה הכללית על IAM.
במאמר החלת הרשאות IAM מוסבר איך נותנים הרשאות IAM ב-Spanner.
מעקב
ב-Spanner יש כמה מדדים שעוזרים לעקוב אחרי המחיצות של המכונה. אחרי שיוצרים מחיצת מכונה נוספת, מופיע מסנן נפתח נוסף של Instance partitions בדף תובנות המערכת במסוף Google Cloud . כברירת מחדל, מוצגים מדדים של כל המחיצות של המכונה. אתם יכולים להשתמש בתפריט הנפתח כדי לסנן את המדדים לפי מחיצת מכונה ספציפית.
איך עוקבים אחרי מכונות באמצעות Cloud Monitoring
גיבויים
אפשר ליצור גיבויים מלאים למסדי נתונים שמשתמשים בחלוקה למחיצות במיקומים שונים. אי אפשר למחוק את המחיצה של המכונה אם משתמשים בה בגיבוי. מידע נוסף זמין במאמר יצירת גיבויים.
הערות לגבי השימוש:
- Spanner שומר גיבויים של נתונים שחולקו למחיצות במיקומים שונים באותו מיקום שבו נמצאים הנתונים המקוריים בזמן הגרסה של הגיבוי.
כדי לשחזר גיבויים שמכילים נתונים מחולקים למחיצות במיקומים שונים, מכונת היעד צריכה לעמוד בתנאים הבאים:
- במכונה שאליה משחזרים צריך להשתמש באותם שמות של מחיצות כמו בגיבוי המקורי.
- כל מחיצה של מופע במופע היעד חייבת להשתמש באותה הגדרת מופע כמו הגיבוי המקורי.
ניהול של התאמה אוטומטית לעומס (autoscaler)
אתם יכולים להפעיל את המידרוג האוטומטי המנוהל במחיצות של מכונות. כשמפעילים את הכלי המנוהל להתאמה אוטומטית של קנה מידה, Spanner משנה באופן אוטומטי את הגודל של מחיצת המכונה. המידרוג האוטומטי המנוהל מגיב לשינויים בעומס העבודה או בצורכי האחסון של מחיצת המכונה, כשהעומס גדל או קטן. המידרוג האוטומטי המנוהל מגדיל את קיבולת משאבי המחשוב של מחיצת המכונה או מצמצם אותה אנכית.
תמחור
אין חיוב נוסף על השימוש בחלוקה למחיצות במיקומים שונים. אתם מחויבים לפי התמחור הרגיל של Spanner על כמות נפח המחשוב שבה המכונה משתמשת ועל כמות האחסון שבה מסד הנתונים משתמש.
למידע נוסף, ראו התמחור של Spanner.