סקירה כללית על חלוקה גיאוגרפית

בדף הזה מוסבר על חלוקה גיאוגרפית ואיך היא פועלת ב-Spanner.

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

יתרונות ותרחישי שימוש

חלוקה לפי מיקום גיאוגרפי מאפשרת לכם לחלק את השורות במסד הנתונים, ומספקת את היתרונות הבאים:

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

אלה כמה תרחישי שימוש נפוצים:

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

  • נתונים מותאמים למקום: מידע רלוונטי לפי מדינות, כמו תנועה ואירועים מיוחדים.

איך פועל חלוקה גיאוגרפית

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

כדי להשתמש בחלוקה גיאוגרפית במסד נתונים:

  1. יוצרים מחיצות נוספות של מופעים במופע. למחיצות של מופעים שנוצרו על ידי משתמשים יש הגדרה משלהן (אזורית או במספר אזורים) ומספר צמתים משלהן.

  2. יוצרים את מסד הנתונים כרגיל. למסד הנתונים יש מיקום ברירת מחדל שמשויך למחיצת ברירת המחדל של המכונה.

  3. יוצרים מיקומי מודעות במסד הנתונים שמשויכים למחיצות הנוספות של המופע. המסד נתונים יכול ליצור אינטראקציה עם מחיצות נוספות של מופעים שנוצרו באותו מופע.

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

לכל שורה בטבלת מיקומי המודעות צריך להקצות את מפתח המיקום לאחד מהערכים הבאים:

  • ערך שתואם לשם של אחד ממיקומי המודעות שנוצרו על ידי המשתמש והוגדרו עבור מסד הנתונים הזה, או

  • ערך המפתח של מיקום המודעה, default, שבו הנתונים מאוחסנים במיקום ברירת המחדל.

הוראות לשימוש במחיצות של מופעים זמינות במאמר בנושא יצירה וניהול של מחיצות של מופעים.

שיקולים חשובים

לפני שיוצרים מחיצות של מופעים, מיקומי מודעות וטבלאות של מיקומי מודעות, כדאי לקחת בחשבון את הדברים הבאים:

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

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

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

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

מגבלות

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

  • מחיצת ברירת המחדל של המופע חייבת להיות הגדרה של מספר אזורים.
  • המחיצה הנוספת של המופע חייבת להיות הגדרה של מספר אזורים.
  • אי אפשר ליצור מחיצה של מכונה באמצעות הגדרה של שני אזורים.
  • אי אפשר ליצור מחיצות של מופע יחיד.
  • לכל מחיצת מופע, קיבולת החישוב צריכה להיות לפחות צומת אחד (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 מספק כמה מדדים שיעזרו לכם לעקוב אחרי מחיצות המופעים. אחרי שיוצרים מחיצה נוספת של מופע, מופיע עוד מסנן נפתח של מחיצות של מופעים בדף 'תובנות לגבי המערכת' במסוף Google Cloud . ברירת המחדל היא הצגת מדדים עבור כל מחיצות המופעים. אפשר להשתמש בתפריט הנפתח כדי לסנן את המדדים לפי מחיצה ספציפית של מופע.

מידע נוסף על מעקב אחרי משאבי Spanner זמין במאמר מעקב אחרי מופעים באמצעות Cloud Monitoring.

גיבויים

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

הערות לגבי השימוש:

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

    • במופע היעד צריך להשתמש באותם שמות של מחיצות מופע כמו בגיבוי המקורי.
    • כל מחיצה של מופע במופע היעד חייבת להשתמש באותה הגדרת מופע כמו הגיבוי המקורי.

מידרוג אוטומטי מנוהל

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

תמחור

השימוש בחלוקה גיאוגרפית לא כרוך בתשלום נוסף. אתם מחויבים לפי התמחור הרגיל של Spanner על כמות קיבולת החישוב שהמופע שלכם צורך ועל כמות האחסון שבה נעשה שימוש במסד הנתונים.

מידע נוסף מופיע במאמר בנושא תמחור של Spanner.

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