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

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

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