במאמר הזה מתוארות הגדרות של מכונות אזוריות, של שני אזורים ושל מספר אזורים ב-Spanner, ומוצגת השוואה בין היתרונות והחסרונות, טופולוגיות הרפליקציה והמיקומים הזמינים לכל סוג של הגדרה. הגדרת המכונה קובעת את המיקום הגיאוגרפי ואת טופולוגיית הרפליקציה של מסדי הנתונים במכונה. בחירת ההגדרה הנכונה מאפשרת לכם לאזן בין הזמינות, זמן האחזור של הקריאה והכתיבה, העלות והדרישות של מיקום אחסון הנתונים לעומס העבודה שלכם.
הגדרות של מכונות
כשיוצרים מכונה של Spanner, צריך להגדיר אותה כאזורית, כשני אזורים או כמספר אזורים. כדי לעשות את זה, בוחרים הגדרת מכונה שקובעת איפה הנתונים של המכונה הזו יאוחסנו:
- הגדרות אזוריות: כל המשאבים נמצאים באזור אחד ב- Google Cloud
- הגדרות אישיות של שני אזורים: כל המשאבים משתרעים על פני שני אזורים ונמצאים במדינה אחת (זמין במהדורת Spanner Enterprise Plus)
- הגדרות של מספר אזורים: כל המשאבים משתרעים על פני יותר משני אזורים (זמין במהדורת Enterprise Plus).
למידע נוסף על שיקולים ספציפיים לאזור, קראו את המאמר מיקום גיאוגרפי ואזורים.
הגדרות של מכונות עם אזורים מוגדרים מראש וטופולוגיות של שכפול נקראות הגדרות בסיסיות של מכונות. אתם יכולים ליצור הגדרות של מכונות בהתאמה אישית ולהוסיף רפליקות אופציונליות לקריאה בלבד להגדרה בסיסית מוגדרת מראש של מכונה (זמין במהדורת Enterprise ומהדורת Enterprise Plus). הרפליקה לקריאה בלבד שנוספה חייבת להיות באזור שלא נכלל בהגדרת המכונה הקיימת. רשימה של האזורים האופציונליים לקריאה בלבד שאפשר להוסיף מופיעה בעמודה Optional region בקטעים Regional available configurations ו-Multi-region available configurations. אי אפשר לשנות את טופולוגיית הרפליקציה של הגדרות מכונה בסיסיות. מידע נוסף מופיע במאמר רפליקות לקריאה בלבד.
אתם יכולים להעביר את המכונה מכל הגדרת מכונה לכל הגדרה אחרת של מכונה אזורית, מכונה בשני אזורים או מכונה במספר אזורים (לדוגמה, מ-regional-us-central1 ל-nam3). אתם יכולים גם ליצור הגדרה בהתאמה אישית של מכונה עם רפליקות נוספות, ואז להעביר את המכונה להגדרה החדשה בהתאמה אישית של המכונה. לדוגמה, נניח שהמכונה נמצאת ב-regional-us-central1 ואתם רוצים להוסיף רפליקה לקריאה בלבד ב-us-west1. אתם יכולים ליצור הגדרת מכונה בהתאמה אישית עם regional-us-central1 בתור הגדרת הבסיס, להוסיף את us-west1 בתור רפליקה לקריאה בלבד, ואז להעביר את המכונה להגדרת המכונה החדשה בהתאמה אישית.
הגדרות לפי אזור
שירותיGoogle Cloud זמינים במיקומים שונים בצפון אמריקה, בדרום אמריקה, באירופה, באסיה, באוסטרליה, במזרח התיכון ובאפריקה. אם המשתמשים והשירותים שלכם נמצאים באזור אחד, כדאי לבחור הגדרת מאפיינים של מכונה אזורית כדי לקבל את זמן האחזור הנמוך ביותר לקריאה ולכתיבה.
בכל הגדרה בסיסית של אזור, Spanner שומר שלוש רפליקות לקריאה ולכתיבה, כל אחת בGoogle Cloud אזור אחר באותו אזור. כל עותק לקריאה ולכתיבה מכיל עותק מלא של מסד הנתונים התפעולי, שיכול לשרת בקשות לקריאה ולכתיבה ובקשות לקריאה בלבד. Spanner משתמש ברפליקות באזורים שונים, כך שאם מתרחשת תקלה באזור אחד, מסד הנתונים נשאר זמין.
הגדרות זמינות
אלה ההגדרות הבסיסיות של מכונות אזוריות ב-Spanner. כדי לבקש אזור אופציונלי של רפליקה לקריאה בלבד שלא מופיע בטבלה הבאה, צריך לשלוח את טופס הבקשה לאזור אופציונלי של רפליקה לקריאה בלבד. Google משתמשת בבקשות האלה כדי לאמוד את הביקוש לאזורים עתידיים, ויכול להיות שלא תגיב ישירות לבקשה שלכם.
| שם ההגדרה הבסיסית | תיאור האזור | אזור אופציונלי |
|---|---|---|
| אמריקה | ||
regional-northamerica-northeast1 |
מונטריאול
|
|
regional-northamerica-northeast2 |
טורונטו
|
|
regional-northamerica-south1 |
קוורטארו | |
regional-southamerica-east1 |
סאו פאולו
|
|
regional-southamerica-west1 |
סנטיאגו
|
|
regional-us-central1 |
איווה
|
לקריאה בלבד: asia-northeast1 1-OR asia-south1 1-OR europe-west1 2-OR europe-west2 1-OR europe-west9 1-OR us-west3 1-OR |
regional-us-east1 |
דרום קרוליינה | לקריאה בלבד: us-central1 1-OR us-west1 1-OR europe-west1 1-OR europe-west3 1-OR |
regional-us-east4 |
צפון וירג'יניה | |
regional-us-east5 |
קולומבוס | לקריאה בלבד: us-central1 1-OR |
regional-us-south1 |
דאלאס
|
|
regional-us-west1 |
אורגון
|
|
regional-us-west2 |
לוס אנג'לס | |
regional-us-west3 |
סולט לייק סיטי | |
regional-us-west4 |
לאס וגאס | |
| אירופה | ||
regional-europe-central2 |
ורשה
|
|
regional-europe-north1 |
פינלנד
|
|
regional-europe-north2 |
שטוקהולם
|
|
regional-europe-southwest1 |
מדריד
|
|
regional-europe-west1 |
בלגיה
|
לקריאה בלבד: us-central1 1-OR us-west1 1-OR |
regional-europe-west2 |
לונדון
|
|
regional-europe-west3 |
פרנקפורט | |
regional-europe-west4 |
הולנד
|
|
regional-europe-west6 |
ציריך
|
|
regional-europe-west8 |
מילאנו
|
|
regional-europe-west9 |
פריז
|
|
regional-europe-west10 |
ברלין | |
regional-europe-west12 |
טורינו
|
|
| אסיה ואזור האוקיינוס השקט | ||
regional-asia-east1 |
טייוואן | |
regional-asia-east2 |
הונג קונג | |
regional-asia-northeast1 |
טוקיו | |
regional-asia-northeast2 |
אוסקה | |
regional-asia-northeast3 |
סיאול | |
regional-asia-south1 |
מומבאי | |
regional-asia-south2 |
דלהי | |
regional-asia-southeast1 |
סינגפור | |
regional-asia-southeast2 |
ג'קארטה | |
regional-asia-southeast3 |
בנגקוק | |
regional-australia-southeast1 |
סידני | |
regional-australia-southeast2 |
מלבורן | |
| המזרח התיכון | ||
regional-me-central1 |
דוחה | |
regional-me-central2 |
דמאם | |
regional-me-west1 |
תל אביב | |
| אפריקה | ||
regional-africa-south1 |
יוהנסבורג | |
1-OR: רפליקה אופציונלית אחת. אפשר ליצור הגדרת מכונה אזורית בהתאמה אישית ולהוסיף רפליקה אופציונלית אחת לקריאה בלבד. מידע נוסף זמין במאמר יצירת הגדרת מכונה בהתאמה אישית.
2-OR: עד שתי רפליקות אופציונליות. אפשר ליצור הגדרה מותאמת אישית של מכונה אזורית ולהוסיף רפליקה אחת או שתיים לקריאה בלבד. אם אפשר, הוסיפו שתי רפליקות אופציונליות כדי לשמור על זמן אחזור קצר בקריאה. מידע נוסף זמין במאמר יצירת הגדרת מכונה בהתאמה אישית.
רפליקציה
הגדרות בסיסיות לפי אזור כוללות שלוש רפליקות לקריאה ולכתיבה. כל מוטציה ב-Spanner דורשת קוורום כתיבה שמורכב מרוב של רפליקות הצבעה. בתצורות אזוריות, שתיים מתוך שלוש הרפליקות יוצרות קוורום כתיבה. מידע נוסף על אזורים ראשיים ורפליקות הצבעה זמין במאמר רפליקציה.
אתם יכולים ליצור הגדרת מכונה אזורית בהתאמה אישית ולהוסיף רפליקות אופציונליות לקריאה בלבד. רפליקות לקריאה בלבד יכולות לעזור להרחיב את הקריאות ולתמוך בקריאות בעבר עם זמן אחזור קצר. הרפליקות לקריאה בלבד לא משתתפות בקוורומים של כתיבה, והן לא פועלות כפתרון עצמאי להתאוששות מאסון (DR). הזמינות של המכונה נקבעת לפי הקוורום של הרפליקות המצביעות. אם מכונת Spanner עוברת למצב אופליין, גם הרפליקות לקריאה בלבד עוברות למצב אופליין זמן קצר לאחר מכן, ולא יכולות לשרת קריאות, כולל קריאות בעבר. הרפליקות לא משפיעות על הסכם רמת השירות של Spanner (מעל 99.99%) במכונות אזוריות. אפשר להוסיף מיקומים שמופיעים בעמודה Optional region כעותקים אופציונליים לקריאה בלבד. אם המיקום המועדף של הרפליקה לקריאה בלבד לא מופיע ברשימה, אתם יכולים לבקש אזור חדש אופציונלי לרפליקה לקריאה בלבד. מידע נוסף זמין במאמר רפליקות לקריאה בלבד.
שיטות מומלצות לשיפור הביצועים של הגדרות אזוריות
כדי להשיג ביצועים אופטימליים, כדאי לפעול לפי השיטות המומלצות הבאות:
- תכנון סכימה שמונעת נקודות חמות ובעיות אחרות בביצועים.
- מקמו משאבי מחשוב קריטיים באותו אזור שבו נמצא המכונה של Spanner.
- להקצות מספיק קיבולת מחשוב כדי לשמור על ניצול כולל של פחות מ-65% מהמעבד (CPU) בעדיפות גבוהה.
- למידע על קצב הנתונים לכל צומת ב-Spanner, קראו את המאמר ביצועים של הגדרות אזוריות.
הגדרות של שני אזורים
הגדרות של שני אזורים מאפשרות ליצור רפליקות של נתוני מסד הנתונים בכמה תחומים בשני אזורים במדינה אחת, כפי שמוגדר בהגדרות של המכונה.
הגדרות של שני אזורים מבצעות את הפעולות הבאות:
- הצגת קריאות משני אזורים במדינה אחת.
- עמידה בדרישות לגבי מיקום אחסון הנתונים.
- זמינות גבוהה יותר והסכמי SLA טובים יותר מאשר בהגדרות אזוריות.
ב-Spanner יש הגדרות של שני אזורים באוסטרליה, בקנדה, בגרמניה, בהודו וביפן.
למידע על קצב העברת הנתונים לכל צומת ב-Spanner, קראו את המאמר ביצועים של הגדרות בשני אזורים.
הגדרות זמינות
ב-Spanner יש את ההגדרות הבסיסיות הבאות למכונות בשני אזורים:
| שם ההגדרה הבסיסית | מיקום המשאב | אזורים |
|---|---|---|
dual-region-australia1 |
אוסטרליה (au) | סידני: australia-southeast1 L, 2RW+1W מלבורן: australia-southeast2 2RW+1W |
dual-region-canada1 |
ca (קנדה) | טורונטו: northamerica-northeast2 L, 2RW+1W מונטריאול: northamerica-northeast1 2RW+1W |
dual-region-germany1 |
de (גרמניה) | ברלין: europe-west10 L, 2RW+1W פרנקפורט: europe-west3 2RW+1W |
dual-region-india1 |
הודו | מומבאי: asia-south1 L, 2RW+1W דלהי: asia-south2 2RW+1W |
dual-region-japan1 |
jp (יפן) | טוקיו: asia-northeast1 L, 2RW+1W אוסקה: asia-northeast2 2RW+1W |
L: אזור ראשי שמוגדר כברירת מחדל. מידע נוסף זמין במאמר שינוי האזור הראשי של מסד נתונים.
2RW+1W: שתי רפליקות לקריאה-כתיבה ורפליקת עדות אחת באזור.
יתרונות
אלה היתרונות העיקריים של מכונות בשני אזורים:
- זמינות של 99.999%: זמינות של 99.999% בשני אזורים באותה מדינה, שהיא גבוהה יותר מהזמינות של 99.99% שמספקות הגדרות אזוריות של Spanner.
- הפצת נתונים: שכפול אוטומטי של הנתונים בין שני האזורים, עם מודל עקביות חזק.
- מיקום אחסון הנתונים: עומד בדרישות של מיקום אחסון הנתונים במדינות שמופיעות בקטע הגדרות זמינות של אזור כפול.
רפליקציה
הגדרה של שני אזורים מכילה שש רפליקות, שלוש בכל אזור. אחד מהאזורים מוגדר כאזור הראשי שמוגדר כברירת מחדל (מופיע בטבלה הקודמת). אפשר לשנות את האזור הראשי של מסד נתונים. בכל אזור יש שתי רפליקות לקריאה ולכתיבה ורפליקת עדות אחת. כששני האזורים תקינים ופועלים בהגדרה של שני אזורים, כל שש הרפליקות משתתפות בקוורום של שני האזורים. כדי ליצור קוורום כתיבה ולבצע טרנזקציה, נדרשות לפחות שתי רפליקות הצבעה בכל אזור.
מעבר למצב של יתירות כשל וחזרה למצב רגיל
אחרי שיוצרים הגדרה של שני אזורים, אפשר לראות את המדד Dual-region quorum health timeline בלוח הבקרה System insights. המדד הזה זמין רק להגדרות של שני אזורים. הוא מציג את התקינות של שלושה קוורומים:
- הקוורום של שני האזורים:
Global - הקוורום של אזור יחיד בכל אזור (לדוגמה,
Sydneyו-Melbourne)
בציר הזמן מופיע פס כתום כשיש שיבוש בשירות. אפשר להציב את הסמן מעל הפס הכתום כדי לראות את זמני ההתחלה והסיום של השיבוש.
כדי לקצר את זמן ההתאוששות (RTO), כדאי לעקוב אחרי המדד Dual-region quorum health timeline או להגדיר התראה לגביו. המדד הזה עוזר להחליט מתי להעביר ידנית למצב של מעבר לגיבוי בעת כשל (failover) במהלך כשלים אזוריים. אחרי שמפעילים את יתירות הכשל של המכונה, התהליך בדרך כלל מסתיים תוך דקה.
ב-Spanner יש גם תמיכה ביתירות כשל אוטומטית בניהול Google, שיכולה להימשך עד 45 דקות מהרגע שהכשל זוהה לראשונה. ה-RTO הארוך יותר נובע מהמעקב של Google ברמת השירות. Google אוספת אותות נוספים כדי לוודא שכל האזור מושפע, ושההשפעה היא ברמת האזור. כך גם אפשר להבטיח שמעבר לגיבוי בעת כשל יספק שירות טוב יותר באופן כללי למשתמשים בהגדרה.
כדי להעביר את הנתונים באופן ידני, עיינו במאמר שינוי הקוורום באזור כפול.
כשמחליטים על מעבר ידני למצב של יתירות כשל וחזרה למצב הרגיל, כדאי להביא בחשבון את הנקודות הבאות:
אם כל שלושת הקוורומים תקינים, לא צריך לעשות כלום.
אם באחד מהאזורים יש הפרעה, כנראה שיש הפרעה אזורית בשירות. יכול להיות שהזמינות של מסדי הנתונים שפועלים בקוורום של שני האזורים תצטמצם, ופעולות הכתיבה ייכשלו אם לא תהיה אפשרות ליצור קוורום וזמן הקצוב לתפוגה של העסקאות יסתיים. Google מבצעת באופן אוטומטי יתירות כשל ו-failback כשהיא מזהה הפסקה אזורית, אבל אתם יכולים גם לבצע יתירות כשל באופן ידני כדי לקבל RTO מהיר יותר. בלוח הבקרה System insights, בודקים את שיעורי השגיאות ואת זמן האחזור במסד הנתונים. אם שיעורי השגיאות או זמן האחזור עולים, אתם יכולים להעביר ידנית למצב של מעבר לגיבוי בעת כשל, ולשנות את הקוורום של שני האזורים לקוורום של אזור אחד באזור התקין. אם מבצעים מעבר ידני לגיבוי בעת כשל, צריך לחזור ידנית לקוורום בשני אזורים אחרי שהאזור שבו הייתה הפרעה חוזר לפעול באופן תקין.
אם יש שיבוש בקוורום של שני האזורים, למרות ששני האזורים הבודדים תקינים, אז יש בעיה בחלוקת הרשת. שני האזורים לא יכולים יותר לתקשר זה עם זה, ולכן כל אזור מציג סטטוס תקין למרות שהמערכת הכוללת לא תקינה. במקרה כזה, אתם יכולים להעביר ידנית את הגיבוי לאזור הראשי שמוגדר כברירת מחדל, כדי שמסד הנתונים ימשיך לשרת את פעולות הכתיבה בלי לשנות את האזור הראשי. אחרי שפותרים את הבעיה במחיצת הרשת והקוורום בשני אזורים תקין שוב, צריך לבצע מעבר ידני למצב הקודם.
הגדרות של שני אזורים מספקות יעד נקודת שחזור (RPO) של אפס, כי אין אובדן נתונים במהלך הפסקה אזורית או כשמתעוררת בעיה במחיצת הרשת.
כדי לבדוק את המצב (יחיד או כפול) של הקוורום בשני אזורים, ראו בדיקת הקוורום בשני אזורים.
שיטות מומלצות ליתירות כשל ולחזרה למצב תקין
שיטות מומלצות למעבר במקרה של כשל ולחזרה למצב תקין:
- אל תעבירו את הגיבוי לאזור אחד אם אין תקלות או שיבושים באזורים. מעבר לגיבוי בעת כשל באזור אחד מגדיל את הסיכוי שהמערכת כולה לא תהיה זמינה אם תהיה תקלה באזור הזה.
- חשוב לבחור בקפידה את האזור לגיבוי במקרה כשל. מעבר לגיבוי בעת כשל לאזור שבו יש שיבוש גורם לכך שמסד הנתונים לא יהיה זמין, ולא ניתן יהיה לשחזר אותו עד שהאזור יחזור להיות אונליין. כדי לוודא, אתם יכולים להשתמש בסקריפט bash כדי לבדוק את תקינות הקוורום באזור היחיד לפני ביצוע יתירות הכשל.
- אם האזור הלא תקין הוא האזור הראשי שמוגדר כברירת מחדל, משנים את האזור הראשי שמוגדר כברירת מחדל לאזור של יתירות הכשל אחרי שמבצעים את יתירות הכשל. אחרי שמוודאים ששני האזורים תקינים, מבצעים failback ומשנים את האזור הראשי בחזרה לאזור הראשי המקורי.
- אם ביצעתם מעבר ידני לגיבוי במקרה של כשל, אל תשכחו לחזור ידנית למצב הקודם.
מגבלות
אי אפשר ליצור הגדרת מכונה מותאמת אישית לשני אזורים, ואי אפשר להוסיף רפליקות לקריאה בלבד להגדרת מכונה לשני אזורים.
שיטות מומלצות לביצועים בהגדרות של שני אזורים
כדי להשיג ביצועים אופטימליים, כדאי לפעול לפי השיטות המומלצות הבאות:
- תכנון סכימה שמונעת נקודות חמות ובעיות אחרות בביצועים.
- כדי להשיג זמן אחזור אופטימלי של כתיבה, הציבו משאבי מחשוב לעומסי עבודה שכוללים הרבה כתיבה בתוך האזור הראשי שמוגדר כברירת מחדל או קרוב אליו.
- כדי להימנע מתלות באזור יחיד לעומסי העבודה, הציבו משאבי מחשוב קריטיים בשני האזורים של ההגדרה בשני אזורים.
- מידע על קצב העברת הנתונים לכל צומת ב-Spanner זמין במאמר ביצועים של הגדרות בשני אזורים.
הגדרות של מספר אזורים
הגדרות אזוריות בסיסיות של Spanner משכפלות נתונים בין כמה אזורים בתוך אזור אחד. עם זאת, יכול להיות שהגדרה אזורית בסיסית לא תהיה אופטימלית אם:
- האפליקציה צריכה לקרוא נתונים מכמה מיקומים גיאוגרפיים (לדוגמה, כדי להציג נתונים למשתמשים בצפון אמריקה ובאסיה).
- פעולות הכתיבה מגיעות ממיקום שונה מפעולות הקריאה (לדוגמה, אם יש לכם עומסי עבודה גדולים של כתיבה בצפון אמריקה ועומסי עבודה גדולים של קריאה באירופה).
אפשר להוסיף רפליקות אופציונליות לקריאה בלבד באזורים אחרים להגדרה אזורית בהתאמה אישית, כדי להציג קריאות בעבר עם זמן אחזור קצר בתרחישים האלה. בנוסף, הגדרות במספר אזורים יכולות:
- שמירה על זמינות הכתיבה באזורי קריאה וכתיבה, עם מעבר אוטומטי ליתירות כשל של ה-leader בזמן שיבושים אזוריים.
- זמינות גבוהה יותר והסכמי SLA טובים יותר מאשר בהגדרות אזוריות.
הגדרות במספר אזורים מאפשרות לשכפל את מסדי הנתונים במספר אזורים, כפי שמוגדר בהגדרות המכונה. רוב ההגדרות הבסיסיות של מספר אזורים מכילות שני אזורי קריאה-כתיבה, שבכל אחד מהם יש שתי רפליקות של קריאה-כתיבה באזורים נפרדים, ואזור עדות אחד. החריג הוא ההגדרה asia2, שאין בה אזור עדות, ובמקום זאת היא מכילה שלושה אזורי קריאה-כתיבה: שני אזורים עם שתי רפליקות קריאה-כתיבה בכל אחד, ואזור שלישי עם רפליקת קריאה-כתיבה אחת. הרפליקות האלה לקריאה ולכתיבה מאפשרות לכם לקרוא נתונים עם זמן טעינה קצר יותר ממספר מיקומים קרובים לאזורים שבהגדרה או בתוכם.
עם זאת, יש פשרות, כי בהגדרה של מספר אזורים, הרפליקות של הקוורום (קריאה-כתיבה) פרוסות על פני יותר מאזור אחד. יכול להיות שתבחינו בזמן אחזור נוסף ברשת כשהרפליקות האלה מתקשרות זו עם זו כדי ליצור קוורום כתיבה. פעולות קריאה לא דורשות קוורום. התוצאה היא שהאפליקציה קוראת מהר יותר ביותר מקומות, במחיר של עלייה קטנה בזמן האחזור של הכתיבה. למידע נוסף, קראו את המאמר תפקיד הרפליקות בכתיבה ובקריאה.
הגדרות זמינות
אלה ההגדרות הבסיסיות של מכונות Spanner במספר אזורים. כדי לבקש אזור אופציונלי של רפליקה לקריאה בלבד שלא מופיע בטבלאות הבאות, צריך לשלוח את טופס הבקשה לאזור אופציונלי של רפליקה לקריאה בלבד. Google משתמשת בבקשות האלה כדי לאמוד את הביקוש לאזורים עתידיים, ויכול להיות שלא תגיב ישירות לבקשה שלכם.
יבשת אחת
בטבלה הבאה מפורטות הגדרות של מספר אזורים ביבשת אחת:
| שם ההגדרה הבסיסית | מיקום המשאב | אזורים לקריאה ולכתיבה | אזורים לקריאה בלבד | אזור העד | אזור אופציונלי |
|---|---|---|---|---|---|
asia1 |
גלובלית | טוקיו: asia-northeast1 L,2R אוסקה: asia-northeast2 2R |
ללא | סיאול: asia-northeast3 |
לקריאה בלבד: us-west1 1-OR us-east5 1-OR |
asia2 A |
גלובלית | מומבאי: asia-south1 L,2R דלהי: asia-south2 2R סינגפור: asia-southeast1 1R |
ללא | ללא | |
eur3 |
eu (האיחוד האירופי) | בלגיה: europe-west1 L,2R הולנד: europe-west4 2R |
ללא | פינלנד: europe-north1 |
לקריאה בלבד: us-central1 1-OR us-east4 1-OR |
eur5 |
גלובלית | לונדון: europe-west2 L,2R בלגיה: europe-west1 2R |
ללא | הולנד: europe-west4 |
לקריאה בלבד: us-central1 1-OR us-east1 1-OR |
eur6 |
גלובלית | הולנד: europe-west4 L,2R פרנקפורט: europe-west3 2R |
ללא | ציריך: europe-west6 |
לקריאה בלבד: us-east1 2-OR |
eur7 |
eu (האיחוד האירופי) | מילאנו: europe-west8 L,2R פרנקפורט: europe-west3 2R |
ללא | טורינו: europe-west12 |
|
nam3 |
us (ארצות הברית) | צפון וירג'יניה: us-east4 L,2R דרום קרוליינה: us-east1 2R |
ללא | איווה: us-central1 |
לקריאה בלבד: asia-south1 1-OR asia-southeast1 1-OR asia-southeast2 1-OR europe-west1 1-OR europe-west2 1-OR europe-west4 1-OR europe-west9 1-OR us-east5 1-OR us-west1 1-OR us-west2 1-OR us-west4 1-OR us-west8 1-OR |
nam6 |
us (ארצות הברית) | איווה: us-central1 L,2R דרום קרוליינה: us-east1 2R |
אורגון: us-west1 1R לוס אנג'לס: us-west2 1R |
אוקלהומה: us-central2 |
|
nam7 |
us (ארצות הברית) | איווה: us-central1 L,2R צפון וירג'יניה: us-east4 2R |
ללא | אוקלהומה: us-central2 |
לקריאה בלבד: us-east1 2-OR us-south1 1-OR us-west1 1-OR europe-west1 2-OR |
nam8 |
us (ארצות הברית) | לוס אנג'לס: us-west2 L,2R אורגון: us-west1 2R |
ללא | סולט לייק סיטי: us-west3 |
לקריאה בלבד: asia-northeast1 2-OR asia-southeast1 2-OR europe-west2 2-OR europe-west3 2-OR us-east5 1-OR |
nam9 |
us (ארצות הברית) | צפון וירג'יניה: us-east4 L,2R איווה: us-central1 2R |
אורגון: us-west1 2R |
קרוליינה הדרומית: us-east1 |
|
nam10 |
us (ארצות הברית) | איווה: us-central1 L,2R סולט לייק סיטי: us-west3 2R |
ללא | אוקלהומה: us-central2 |
לקריאה בלבד: us-east4 1-OR |
nam11 |
us (ארצות הברית) | איווה: us-central1 L,2R דרום קרוליינה: us-east1 2R |
ללא | אוקלהומה: us-central2 |
לקריאה בלבד: us-west1 1-OR |
nam12 |
us (ארצות הברית) | איווה: us-central1 L,2R צפון וירג'יניה: us-east4 2R |
אורגון: us-west1 2R |
אוקלהומה: us-central2 |
|
nam13 |
us (ארצות הברית) | אוקלהומה: us-central2 L,2R איווה: us-central1 2R |
ללא | סולט לייק סיטי: us-west3 |
|
nam14 |
גלובלית | צפון וירג'יניה: us-east4 L,2R מונטריאול: northamerica-northeast1 2R |
ללא | קרוליינה הדרומית: us-east1 |
|
nam15 |
us (ארצות הברית) | דאלאס: us-south1 L,2R צפון וירג'יניה: us-east4 2R |
ללא | איווה: us-central1 |
לקריאה בלבד: us-central2 1-OR us-east1 1-OR us-west3 1-OR |
nam16 |
us (ארצות הברית) | איווה: us-central1 L,2R צפון וירג'יניה: us-east4 2R |
ללא | קולומבוס: us-east5 |
לקריאה בלבד: us-west2 2-OR |
nam22 |
us (ארצות הברית) | קולומבוס: us-east5 L,2R דרום קרוליינה: us-east1 2R |
ללא | צפון וירג'יניה: us-east4 |
לקריאה בלבד: us-west1 1-OR |
nam23 |
us (ארצות הברית) | איווה: us-central1 L,2R לאס וגאס: us-west4 2R |
ללא | דאלאס: us-south1 |
לקריאה בלבד: asia-northeast1 1-OR australia-southeast2 1-OR europe-west1 1-OR europe-west3 1-OR |
nam24 A |
us (ארצות הברית) | צפון וירג'יניה: us-east4 L,2R אורגון: us-west1 2R |
ללא | איווה: us-central1 |
שלוש יבשות
בטבלה הבאה מפורטות הגדרות של מספר אזורים שמשתרעים על פני שלוש יבשות:
| שם ההגדרה הבסיסית | מיקום המשאב | אזורים לקריאה ולכתיבה | אזורים לקריאה בלבד | אזור העד | אזור אופציונלי |
|---|---|---|---|---|---|
nam-eur-asia1 |
גלובלית | איווה: us-central1 L,2R אוקלהומה: us-central2 2R |
בלגיה: europe-west1 2R טייוואן: asia-east1 2R |
קרוליינה הדרומית: us-east1 |
לקריאה בלבד: us-west2 1-OR |
nam-eur-asia3 |
גלובלית | איווה: us-central1 L,2R דרום קרוליינה: us-east1 2R |
בלגיה: europe-west1 1R הולנד: europe-west4 1R טייוואן: asia-east1 2R |
אוקלהומה: us-central2 |
L: אזור ראשי שמוגדר כברירת מחדל. למידע נוסף, קראו את המאמר שינוי האזור הראשי של מסד נתונים.
1R: רפליקה אחת באזור.
2R: שתי רפליקות באזור.
2RW+1W: שתי רפליקות לקריאה ולכתיבה ורפליקת עדות אחת באזור.
1-OR: רפליקה אופציונלית אחת. אפשר ליצור הגדרת מכונה מותאמת אישית לאזור או למספר אזורים, ולהוסיף רפליקה אופציונלית אחת לקריאה בלבד. מידע נוסף זמין במאמר יצירת הגדרת מכונה בהתאמה אישית.
2-OR: עד שתי רפליקות אופציונליות. אתם יכולים ליצור הגדרת מכונה מותאמת אישית לאזור אחד או במספר אזורים, ולהוסיף רפליקה אחת או שתיים לקריאה בלבד. אם אפשר, כדאי להוסיף שתי רפליקות אופציונליות כדי לשמור על זמן אחזור נמוך בקריאה. מידע נוסף זמין במאמר יצירת הגדרת מכונה בהתאמה אישית.
A: הגדרת המכונה הזו מוגבלת באמצעות רשימת היתרים. כדי לקבל גישה, פנו למנהל החשבונות הטכני.
מיקום המשאב של הגדרה במספר אזורים קובע את אזור ההתאוששות מאסון (DR) המובטח. המיקום הזה מגדיר את הגבולות הכלליים של כל הנתונים לאורך מחזור החיים שלהם, אבל הנתונים עצמם מאוחסנים במנוחה רק במיקומי הרפליקות שבחרתם.
יתרונות
למכונות במספר אזורים יש כמה יתרונות עיקריים:
זמינות של 99.999%, שהיא גבוהה יותר מהזמינות של 99.99% שמספקות ההגדרות האזוריות של Spanner.
הפצת נתונים: Spanner משכפל באופן אוטומטי את הנתונים בין אזורים עם מודל עקביות חזק. כך אתם יכולים לאחסן את הנתונים במקום שבו משתמשים בהם, וכך לצמצם את זמן האחזור ולשפר את חוויית המשתמש.
עקביות עם העולם האמיתי: למרות ש-Spanner משכפל נתונים בין מיקומים מרוחקים מבחינה גיאוגרפית, אתם עדיין יכולים להשתמש ב-Spanner כאילו מדובר במסד נתונים שפועל במכונה אחת. העסקאות ניתנות להמשכה, וסדר העסקאות במסד הנתונים זהה לסדר שבו הלקוחות רואים שהעסקאות בוצעו. עקביות עם העולם האמיתי היא מאפיין חזק יותר מ "מודל עקביות חזק", שמוצע במוצרים אחרים. מידע נוסף על המאפיין הזה זמין במאמר TrueTime ועקביות עם העולם האמיתי.
רפליקציה
רוב ההגדרות הבסיסיות של מספר אזורים מכילות שני אזורים שמוגדרים כאזורי קריאה וכתיבה, וכל אחד מהם מכיל שתי רפליקות של קריאה וכתיבה. אחד מהאזורים האלה לקריאה ולכתיבה מוגדר כאזור ברירת המחדל הראשי, כלומר הוא מכיל את הרפליקות הראשיות של מסד הנתונים. בנוסף, Spanner ממקם רפליקת עדות באזור שלישי שנקרא אזור עדות. החריג היחיד הוא ההגדרה asia2, שבה ממוקמת רפליקה חמישית לקריאה וכתיבה באזור שלישי לקריאה וכתיבה, במקום להשתמש באזור עדות.
בכל פעם שלקוח שולח מוטציה למסד הנתונים, נוצר קוורום כתיבה שמורכב מאחת מהרפליקות מאזור ברירת המחדל הראשי, ומכל שתיים מתוך ארבע הרפליקות הנוספות להצבעה. (הקוורום יכול להיווצר על ידי רפליקות משניים או שלושה מהאזורים שמרכיבים את ההגדרות, בהתאם לרפליקות האחרות שמשתתפות בהצבעה). בנוסף לחמש הרפליקות האלה להצבעה, חלק מההגדרות הבסיסיות במספר אזורים מכילות רפליקות לקריאה בלבד, כדי להציג קריאות עם זמן אחזור קצר. האזורים שמכילים רפליקות לקריאה בלבד נקראים אזורים לקריאה בלבד.
באופן כללי, האזורים להצבעה בהגדרה של מספר אזורים ממוקמים קרוב מבחינה גיאוגרפית – במרחק של פחות מאלף מייל זה מזה – כדי ליצור קוורום עם זמן אחזור קצר שמאפשר כתיבה מהירה. עם זאת, האזורים עדיין רחוקים מספיק זה מזה – בדרך כלל, לפחות כמה מאות קילומטרים – כדי למנוע כשלים מתואמים. בנוסף, אם אפליקציית הלקוח נמצאת באזור לא ראשי, Spanner משתמש בניתוב שמבוסס על האזור הראשי כדי לנתב באופן דינמי עסקאות קריאה וכתיבה, וכך לצמצם את זמן האחזור במסד הנתונים. למידע נוסף, קראו את המאמרים למה צריך רפליקות לקריאה בלבד ורפליקות עדות? וניתוב עם מודעות ל-Leader.
אפשר ליצור הגדרת מכונה בהתאמה אישית במספר אזורים עם רפליקות אופציונליות לקריאה בלבד. כל רפליקה בהתאמה אישית לקריאה בלבד שאתם יוצרים לא יכולה להיכלל בקוורומים לכתיבה, והיא לא פועלת כפתרון עצמאי להתאוששות מאסון (DR). הזמינות של המכונה נקבעת לפי הקוורום של הרפליקות המצביעות. אם מכונת Spanner עוברת למצב אופליין, גם הרפליקות לקריאה בלבד עוברות למצב אופליין זמן קצר לאחר מכן, ולא יכולות לשרת קריאות, כולל קריאות בעבר. אתם יכולים להוסיף מיקומים שמופיעים בעמודה Optional region כרפליקות אופציונליות לקריאה בלבד. אם המיקום המועדף של הרפליקה לקריאה בלבד לא מופיע ברשימה, אתם יכולים לבקש אזור חדש אופציונלי לרפליקה לקריאה בלבד. מידע נוסף זמין במאמר רפליקות לקריאה בלבד.
שיטות מומלצות לשיפור הביצועים בהגדרות של מספר אזורים
כדי להשיג ביצועים אופטימליים, כדאי לפעול לפי השיטות המומלצות הבאות:
- תכנון סכימה שמונעת נקודות חמות ובעיות אחרות בביצועים.
- כדי להשיג זמן אחזור אופטימלי של כתיבה, הציבו משאבי מחשוב לעומסי עבודה שכוללים הרבה כתיבה בתוך האזור הראשי שמוגדר כברירת מחדל או קרוב אליו.
- כדי ליהנות מביצועי קריאה אופטימליים מחוץ לאזור הראשי שמוגדר כברירת מחדל, צריך להשתמש בערך של 15 שניות לפחות.
- כדי להימנע מתלות באזור אחד לעומסי העבודה, כדאי למקם משאבי מחשוב קריטיים בשני אזורים לפחות. אפשרות טובה היא למקם אותם לצד שני אזורי הקריאה והכתיבה השונים, כדי שהפסקה באזור אחד לא תשפיע על כל האפליקציה.
- להקצות מספיק קיבולת מחשוב כדי לשמור על ניצול כולל של פחות מ-45% מהמעבד (CPU) בעדיפות גבוהה בכל אזור.
- מידע על קצב העברת הנתונים לכל צומת של Spanner זמין במאמר ביצועים של הגדרות במספר אזורים.
העברת מכונה
אתם יכולים להעביר את המכונה של Spanner מכל הגדרת מכונה לכל הגדרת מכונה אחרת, כולל בין הגדרות אזוריות, הגדרות של שני אזורים והגדרות במספר אזורים. העברת המכונה לא גורמת לזמן השבתה, ו-Spanner ממשיך לספק את התחייבויות העסקאות הרגילות, כולל עקביות חזקה, במהלך ההעברה.
מידע נוסף על העברת מכונה של Spanner זמין במאמר העברת מכונה.
הגדרת אזור ראשי כברירת מחדל
כדי לשנות את המיקום של האזור הראשי שמוגדר כברירת מחדל במסד הנתונים, כך שיהיה קרוב יותר ללקוחות שמתחברים, וכדי לצמצם את זמן האחזור של האפליקציה, אתם יכולים לשנות את האזור הראשי בכל מכונה של Spanner שמשתמשת בהגדרה של שני אזורים או של כמה אזורים. במאמר שינוי האזור הראשי של מסד נתונים מוסבר איך משנים את המיקום של האזור הראשי. האזורים היחידים שיכולים להיות אזור ראשי שמוגדר כברירת מחדל למסד הנתונים הם אזורי קריאה וכתיבה בהגדרת שני אזורים או מספר אזורים.
האזור הראשי אחראי לטיפול בכל פעולות הכתיבה של מסד הנתונים, כך שאם רוב התנועה מגיעה מאזור גיאוגרפי אחד, אפשר להעביר אותו לאזור הזה כדי לצמצם את זמן האחזור. עדכון האזור הראשי שמוגדר כברירת מחדל הוא פעולה של מטא-נתונים שלא מעבירה נתונים בין אזורים. הערך החדש ייכנס לתוקף תוך כמה דקות.
האזורים היחידים שיכולים להיות אזור ברירת המחדל הראשי של מסד הנתונים הם אזורי הקריאה והכתיבה בהגדרות של שני אזורים או מספר אזורים. איך משנים את האזור הראשי של מסד נתונים
שינוי האזור הראשי שמוגדר כברירת מחדל הוא פעולת מטא-נתונים שמשתמשת בפעולה ממושכת. במקרה הצורך, אפשר לבדוק את ההתקדמות של הפעולה הממושכת.
פשרות: הגדרות אזוריות לעומת הגדרות בשני אזורים לעומת הגדרות במספר אזורים
בטבלה הבאה מפורטים היתרונות והחסרונות של הגדרות אזוריות, הגדרות של שני אזורים והגדרות של מספר אזורים:
| הגדרות אישיות | זמינות | זמן אחזור | עלות | אחסון ועיבוד נתונים באופן מקומי |
|---|---|---|---|---|
| אזורי | 99.99% | זמן אחזור קצר יותר של כתיבה באזור. | עלות נמוכה יותר; ראו תמחור. | מאפשרת משילות מידע (data governance) גיאוגרפית. |
| שני אזורים | 99.999% | זמני אחזור קצרים יותר לקריאה משני אזורים גיאוגרפיים; עלייה קלה בזמן האחזור לכתיבה. | עלות גבוהה יותר; ראו תמחור. | הנתונים מפוזרים בשני אזורים במדינה אחת. |
| במספר אזורים | 99.999% | זמני אחזור קצרים יותר לקריאה מכמה אזורים גיאוגרפיים; עלייה קלה בזמן האחזור לכתיבה. | עלות גבוהה יותר; ראו תמחור. | הנתונים מפוזרים בכמה אזורים בתוך ההגדרה. |