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

בדף הזה מוסבר על חלוקה גיאוגרפית ואיך היא פועלת ב-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.

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