בדף הזה מתוארים הסוגים השונים של הגדרות המכונות שזמינות ב-Spanner, וההבדלים והפשרות ביניהם.
הגדרות של מכונות
הגדרת המכונה של Spanner קובעת את המיקום הגיאוגרפי ואת הרפליקציה של מסדי הנתונים במכונה הזו. כשיוצרים מכונה, צריך להגדיר אותה כאזורית, כשני אזורים או כמספר אזורים. כדי לבחור את המיקום, צריך לבחור הגדרת מופע, שקובעת איפה הנתונים של המופע הזה מאוחסנים:
- הגדרות לפי אזור: כל המשאבים נמצאים באותו אזור ב- Google Cloud
- הגדרות אישיות של שני אזורים: כל המשאבים משתרעים על פני שני אזורים ונמצאים במדינה אחת (זמין במהדורת 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. כדי לבקש אזור אופציונלי של העתק לקריאה בלבד שלא מופיע בטבלה הבאה, ממלאים את טופס הבקשה הזה. חשוב לדעת: אנחנו משתמשים בבקשות האלה כדי לאמוד את הביקוש באזורים עתידיים, ויכול להיות שלא נגיב ישירות לבקשה שלכם.
| שם הגדרת הבסיס | תיאור האזור | אזור אופציונלי |
|---|---|---|
| אמריקה | ||
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 |
יוהנסבורג | |
שכפול
ההגדרות האזוריות הבסיסיות מכילות שלוש רפליקות לקריאה ולכתיבה. כל מוטציה ב-Spanner דורשת קוורום כתיבה שמורכב מרוב של רפליקות הצבעה. קבוצות קוורום לכתיבה נוצרות משני עותקים מתוך שלושת העותקים בהגדרות אזוריות. מידע נוסף על אזורים ראשיים ורפליקות הצבעה זמין במאמר רפליקציה.
אתם יכולים ליצור הגדרה מותאמת אישית של מופע אזורי ולהוסיף רפליקות אופציונליות לקריאה בלבד. רפליקות לקריאה בלבד יכולות לעזור להרחיב את הקריאות ולתמוך בקריאות לא עדכניות עם זמן טעינה קצר. הרפליקות לקריאה בלבד לא משתתפות בקוורומים לכתיבה, והן לא פועלות כפתרון עצמאי להתאוששות מאסון (DR). הזמינות של המופע נקבעת לפי הקוורום של העותקים המשוכפלים להצבעה. אם מופעלת במכונת Spanner תחזוקה אופליין, גם הרפליקות לקריאה בלבד עוברות למצב אופליין זמן קצר לאחר מכן, ולא ניתן לבצע קריאות, כולל קריאות של נתונים לא עדכניים. הרפליקות לא משפיעות על הסכם רמת השירות של Spanner (מעל 99.99%) במכונות אזוריות. אפשר להוסיף מיקומים שמופיעים בעמודה Optional Region כרפליקות אופציונליות לקריאה בלבד. אם המיקום שבחרתם לעותק לקריאה בלבד לא מופיע, אתם יכולים לבקש אזור חדש לעותק לקריאה בלבד. מידע נוסף מופיע במאמר Read-only replicas (רפליקות לקריאה בלבד).
שיטות מומלצות לשיפור הביצועים של הגדרות אזוריות
כדי להשיג ביצועים אופטימליים, כדאי לפעול לפי השיטות המומלצות הבאות:
- עיצוב סכימה שמונעת נקודות חמות ובעיות אחרות בביצועים.
- מקמו משאבי מחשוב קריטיים באותו אזור שבו נמצא המכונה של Spanner.
- להקצות מספיק קיבולת מחשוב כדי לשמור על ניצול כולל של פחות מ-65% מהמעבד (CPU) בעדיפות גבוהה.
- מידע על נפח התפוקה לכל צומת Spanner זמין במאמר ביצועים בהגדרות אזוריות.
הגדרות של שני אזורים
הגדרות של שני אזורים מאפשרות ליצור רפליקות של נתוני מסד הנתונים במספר אזורים בשני אזורים במדינה אחת, כפי שמוגדר בהגדרות המופע.
הגדרות של שני אזורים מבצעות את הפעולות הבאות:
- הצגת קריאות משני אזורים במדינה אחת.
- עמידה בדרישות לגבי מיקום אחסון הנתונים.
- זמינות גבוהה יותר והסכמי SLA טובים יותר מאשר בהגדרות אזוריות.
Spanner מציע הגדרות של שני אזורים באוסטרליה, בגרמניה, בהודו וביפן.
מידע על נפח התפוקה לכל צומת Spanner זמין במאמר ביצועים בהגדרות של שני אזורים.
הגדרות זמינות
ב-Spanner יש את ההגדרות הבסיסיות הבאות למכונות בשני אזורים:
| שם ההגדרה הבסיסית | מיקום המשאב | אזורים |
|---|---|---|
dual-region-australia1 |
au (אוסטרליה) | סידני: australia-southeast1L, 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 |
יתרונות
היתרונות העיקריים של מופעים בשני אזורים:
זמינות של 99.999%: בשני אזורים באותה מדינה, שזה יותר מהזמינות של 99.99% שמספקות הגדרות אזוריות של Spanner.
הפצת נתונים: שכפול אוטומטי של הנתונים בין שני האזורים עם מודל עקביות חזק.
דרישות לגבי מיקום אחסון הנתונים: עמידה בדרישות לגבי מיקום אחסון הנתונים במדינות שמפורטות בקטע הגדרות זמינות של אזור כפול.
רפליקציה
במיקום בשני אזורים יש שש רפליקות, שלוש בכל אזור. אחד מהאזורים מוגדר כאזור ברירת המחדל המוביל (מפורט בטבלה הקודמת). אפשר לשנות את האזור הראשי של מסד נתונים. בכל אזור יש שתי רפליקות לקריאה ולכתיבה ורפליקת עדות אחת. כששני האזורים תקינים ופועלים בהגדרה של שני אזורים, הקוורום נקבע בכל שש הרפליקות. כדי ליצור קוורום ולבצע טרנזקציה, נדרשות לפחות שתי רפליקות בכל אזור.
מעבר לגיבוי בעת כשל וחזרה למצב תקין
אחרי שיוצרים הגדרה של שני אזורים, אפשר לראות את המדד Dual-region quorum health timeline בלוח הבקרה System insights. המדד הזה זמין רק להגדרות של שני אזורים. הוא מציג את התקינות של שלושה קוורומים:
- הקבוצה הקוורומית בשני אזורים:
Global - הקוורום של האזור היחיד בכל אזור (לדוגמה,
Sydneyו-Melbourne)
אם יש שיבוש בשירות, מופיע פס כתום בציר הזמן. אפשר להעביר את העכבר מעל הסמל כדי לראות את זמני ההתחלה והסיום של השיבוש.
כדי להשיג זמן התאוששות (RTO) מהיר יותר, מומלץ לעקוב אחרי המדד של ציר הזמן של תקינות הקוורום בשני אזורים, או להגדיר התראה לגביו. המדד הזה עוזר לכם לקבל החלטות לגבי ניהול עצמי של מעבר לגיבוי (failover) במקרה של כשלים אזוריים. אחרי שמפעילים את יתירות הכשל של המכונה, התהליך בדרך כלל מסתיים תוך דקה.
Spanner תומך גם במעבר אוטומטי לגיבוי בניהול Google, שיכול להימשך עד 45 דקות מהרגע שבו הכשל זוהה לראשונה. ה-RTO הארוך יותר נובע מהמעקב של Google ברמת השירות. אנחנו צריכים לאסוף אותות נוספים כדי לאמת שכל האזור מושפע, ולוודא שיש השפעה ברמת האזור. כך גם אפשר להבטיח שמעבר לגיבוי בעת כשל יספק שירות טוב יותר למשתמשים בהגדרה.
כדי לבצע מעבר ידני למצב של יתירות כשל וחזרה למצב רגיל, קראו את המאמר שינוי הקוורום באזור כפול.
כשמקבלים החלטות לגבי מעבר ידני לגיבוי וחזרה מגיבוי, כדאי להביא בחשבון את הנקודות הבאות:
אם כל שלושת הקוורומים תקינים, לא צריך לעשות כלום.
אם באחד מהאזורים מופיעה הפרעה, כנראה שיש הפרעה אזורית בשירות. יכול להיות שהדבר יגרום לירידה בזמינות של מסדי הנתונים שפועלים בקוורום שלכם באזור הכפול. יכול להיות שגם פעולות הכתיבה ייכשלו כי אי אפשר להגיע לקוורום, ובסופו של דבר יפוג הזמן הקצוב לטרנזקציות. בלוח הבקרה System insights, בודקים את שיעורי השגיאות ואת זמן האחזור במסד הנתונים. אם יש שיעורי שגיאות או זמני אחזור גבוהים, מומלץ להפעיל יתירות כשל, כלומר לשנות את הקוורום של שני האזורים לאזור שעדיין תקין. אחרי שהאזור שבו הייתה התקלה חוזר לפעול, צריך לבצע failback ולשנות את הקוורום של שני האזורים מאזור יחיד לשני אזורים. Google מבצעת באופן אוטומטי מעבר לגיבוי (failover) וחזרה מגיבוי (failback) כשהיא מזהה הפסקת חשמל אזורית. אם אתם מזהים שיבוש, אתם יכולים גם להפעיל את יתירות הכשל באופן ידני. עם זאת, אם ביצעתם מעבר ידני לגיבוי במקרה של כשל, אתם צריכים לזכור לבצע חזרה ידנית למצב תקין.
אם הקוורום של שני האזורים מראה שיבוש למרות ששני האזורים הבודדים תקינים, סימן שיש בעיה בחלוקת הרשת. שני האזורים לא יכולים יותר לתקשר ביניהם, ולכן כל אחד מהם מציג תקינות למרות שהמערכת הכוללת לא תקינה. במקרה כזה, מומלץ לבצע יתירות כשל לאזור הראשי שמוגדר כברירת מחדל. אחרי שפותרים את הבעיה של חלוקת הרשת ומושגת שוב קוורום בריא באזור הכפול, צריך לבצע פיילבק באופן ידני.
שני אזורים מספקים יעד להתאוששות מאסון (RPO) של אפס, כי אין אובדן נתונים במהלך הפסקה אזורית או כשמתעוררת בעיה במחיצת הרשת.
כדי לבדוק את המצב (יחיד או כפול) של הקוורום בשני אזורים, ראו בדיקת הקוורום בשני אזורים.
שיטות מומלצות למעבר לגיבוי ולחזרה מגיבוי
השיטות המומלצות למעבר כשל ולחזרה למצב תקין כוללות:
- אל תבצעו מעבר לגיבוי במקרה של כשל באזור יחיד אם לא מתרחשים כשלים או שיבושים באזור. אם מעבירים את הגיבוי לאזור אחד, יש סיכוי גבוה יותר שהמערכת כולה לא תהיה זמינה אם תהיה תקלה באזור הזה.
- חשוב לבחור בקפידה את האזור ליתירות כשל. אם תבחרו אזור שגוי ליתירות כשל, מסד הנתונים לא יהיה זמין ולא תוכלו לשחזר אותו עד שהאזור יחזור לפעול. כדי לוודא, אתם יכולים להשתמש בסקריפט bash כדי לבדוק את התקינות של האזור היחיד לפני ביצוע יתירות הכשל.
- אם האזור הלא תקין הוא אזור הלידים שמוגדר כברירת מחדל, משנים את אזור הלידים שמוגדר כברירת מחדל לאזור המעבר לגיבוי לאחר ביצוע המעבר לגיבוי. אחרי שמוודאים ששני האזורים תקינים, מבצעים החזרה למצב תקין ומשנים את האזור הראשי בחזרה לאזור הראשי המקורי.
- אם ביצעתם מעבר ידני לגיבוי במקרה של כשל, אל תשכחו לחזור ידנית למצב הקודם.
מגבלות
אי אפשר ליצור הגדרת מכונה מותאמת אישית לשני אזורים. אי אפשר להוסיף רפליקות לקריאה בלבד להגדרת מכונה בשני אזורים.
הגדרות של מספר אזורים
בהגדרות אזוריות של Spanner, הנתונים משוכפלים בין כמה אזורים בתוך אזור אחד. עם זאת, יכול להיות שהגדרה אזורית לא תהיה אופטימלית אם:
- לעתים קרובות האפליקציה צריכה לקרוא נתונים מכמה מיקומים גיאוגרפיים (לדוגמה, כדי להציג נתונים למשתמשים בצפון אמריקה ובאסיה).
- פעולות הכתיבה שלכם מגיעות ממיקום שונה מפעולות הקריאה (לדוגמה, אם יש לכם עומסי עבודה גדולים של כתיבה בצפון אמריקה ועומסי עבודה גדולים של קריאה באירופה).
מערכים של מספר אזורים יכולים:
- הצגת כתיבות מכמה אזורים.
- שמירה על זמינות במקרה של כשלים אזוריים.
- מספקות זמינות גבוהה יותר והסכמי רמת שירות (SLA) טובים יותר מאשר הגדרות אזוריות.
הגדרות של מספר אזורים מאפשרות לכם ליצור רפליקות של מסדי הנתונים בכמה אזורים, כפי שמוגדר בהגדרות המכונה. כל הגדרה של מספר אזורים מכילה שני אזורים לקריאה ולכתיבה. אזור לקריאה ולכתיבה מכיל שני עותקים זהים לקריאה ולכתיבה שנמצאים בתחומים נפרדים. הרפליקות האלה מאפשרות לכם לקרוא נתונים עם זמן טעינה קצר יותר ממספר מיקומים שקרובים לאזורים בהגדרה או נמצאים בתוכם.
עם זאת, יש לכך מחיר, כי בהגדרה במספר אזורים, העותקים המשוכפלים של הקוורום (קריאה-כתיבה) מפוזרים על פני יותר מאזור אחד. יכול להיות שתבחינו בזמן אחזור נוסף ברשת כשהרפליקות האלה מתקשרות זו עם זו כדי ליצור קוורום כתיבה. פעולות קריאה לא דורשות קוורום. התוצאה היא שהאפליקציה שלכם קוראת מהר יותר ביותר מקומות, אבל זמן האחזור של הכתיבה מתארך קצת. מידע נוסף זמין במאמר התפקיד של העתקים בפעולות כתיבה וקריאה.
הגדרות זמינות
ב-Spanner יש את ההגדרות הבסיסיות הבאות למכונות במספר אזורים. כדי לבקש אזור אופציונלי של רפליקה לקריאה בלבד שלא מופיע בטבלה הבאה, מלאו את טופס הבקשה הזה. חשוב לזכור שאנחנו משתמשים בבקשות האלה כדי לאמוד את הביקוש באזורים עתידיים, ויכול להיות שלא נגיב ישירות לבקשה שלכם.
יבשת אחת
| שם הגדרת הבסיס | מיקום המשאב | אזורים עם גישת קריאה וכתיבה | אזורים לקריאה בלבד | אזור העד | אזור אופציונלי |
|---|---|---|---|---|---|
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: ההגדרה של המכונה הזו מוגבלת באמצעות רשימת היתרים. כדי לקבל גישה, פנו למנהל החשבונות הטכני.
מיקום המשאב בהגדרה של מספר אזורים מגדיר את אזור ההתאוששות מאסון. המיקום הזה מגדיר את הגבול הכולל לכל הנתונים לאורך מחזור החיים שלהם, אבל הנתונים עצמם מאוחסנים במנוחה רק במיקומי הרפליקות שבחרתם.
יתרונות
למופעים במספר אזורים יש את היתרונות העיקריים הבאים:
זמינות של 99.999%, שהיא גבוהה יותר מהזמינות של 99.99% שמספקות ההגדרות האזוריות של Spanner.
הפצת נתונים: Spanner משכפל באופן אוטומטי את הנתונים בין אזורים עם מודל עקביות חזק. כך הנתונים מאוחסנים במקום שבו משתמשים בהם, מה שיכול להפחית את זמן האחזור ולשפר את חוויית המשתמש.
עקביות חיצונית: למרות ש-Spanner משכפל נתונים במיקומים מרוחקים גיאוגרפית, אפשר להשתמש ב-Spanner כאילו היה מסד נתונים שפועל במכונה אחת. העסקאות ניתנות להמשכה, וסדר העסקאות במסד הנתונים זהה לסדר שבו הלקוחות רואים שהעסקאות בוצעו. עקביות חיצונית היא מאפיין חזק יותר מ "מודל עקביות חזק", שמוצע במוצרים אחרים. מידע נוסף על המאפיין הזה זמין במאמר TrueTime ועקביות חיצונית.
רפליקציה
כל הגדרה בסיסית של מספר אזורים מכילה שני אזורים שמוגדרים כאזורי קריאה וכתיבה, וכל אחד מהם מכיל שתי רפליקות של קריאה וכתיבה. אחד מהאזורים האלה לקריאה ולכתיבה מוגדר כאזור ראשי שמוגדר כברירת מחדל, כלומר הוא מכיל את הרפליקות הראשיות של מסד הנתונים. בנוסף, מערכת Spanner ממקמת רפליקה של עדות באזור שלישי שנקרא אזור עדות.
בכל פעם שלקוח שולח מוטציה למסד הנתונים, נוצר קוורום כתיבה שמורכב מאחת מהרפליקות מאזור ברירת המחדל הראשי, ומשתיים מתוך ארבע הרפליקות הנוספות להצבעה. (הקוורום יכול להיווצר על ידי רפליקות משני אזורים או משלושה אזורים שמרכיבים את ההגדרה, בהתאם לרפליקות האחרות שמשתתפות בהצבעה). בנוסף לחמש הרפליקות האלה להצבעה, חלק מההגדרות הבסיסיות במספר אזורים מכילות רפליקות לקריאה בלבד, כדי להציג קריאות עם זמן אחזור קצר. האזורים שמכילים רפליקות לקריאה בלבד נקראים אזורים לקריאה בלבד.
באופן כללי, אזורי ההצבעה בהגדרה של מספר אזורים ממוקמים קרוב זה לזה מבחינה גיאוגרפית – במרחק של פחות מ-1,600 ק"מ זה מזה – כדי ליצור קוורום עם זמן אחזור נמוך שמאפשר כתיבה מהירה (מידע נוסף). עם זאת, האזורים עדיין רחוקים מספיק זה מזה – בדרך כלל לפחות כמה מאות קילומטרים – כדי למנוע כשלים מתואמים. בנוסף, אם אפליקציית הלקוח נמצאת באזור שאינו אזור ראשי, Spanner משתמש בניתוב שמודע לאזור הראשי כדי לנתב באופן דינמי טרנזקציות של קריאה וכתיבה, וכך להקטין את זמן האחזור במסד הנתונים. מידע נוסף מופיע במאמר בנושא ניתוב מודע למוביל.
אתם יכולים ליצור הגדרת מכונה מותאמת אישית עם כמה אזורים עם רפליקות לקריאה בלבד (אופציונלי). אי אפשר לכלול רפליקות בהתאמה אישית לקריאה בלבד שאתם יוצרים בקוורומים לכתיבה, והן לא פועלות כפתרון עצמאי להתאוששות מאסון (DR). הזמינות של המכונה נקבעת לפי הקוורום של הרפליקות המצביעות. אם מופעלת במכונת Spanner תחזוקה אופליין, גם הרפליקות לקריאה בלבד עוברות למצב אופליין זמן קצר לאחר מכן, ולא ניתן לבצע קריאות, כולל קריאות של נתונים לא עדכניים. אתם יכולים להוסיף מיקומים שמופיעים בעמודה Optional Region כעותקים אופציונליים לקריאה בלבד. אם המיקום שבחרתם לעותק לקריאה בלבד לא מופיע, אתם יכולים לבקש אזור חדש לעותק אופציונלי לקריאה בלבד. מידע נוסף מופיע במאמר Read-only replicas (רפליקות לקריאה בלבד).
שיטות מומלצות לשיפור הביצועים של הגדרות בכמה אזורים
כדי להשיג ביצועים אופטימליים, כדאי לפעול לפי השיטות המומלצות הבאות:
- עיצוב סכימה שמונעת נקודות חמות ובעיות אחרות בביצועים.
- כדי להשיג זמן אחזור אופטימלי של כתיבה, הציבו משאבי מחשוב לעומסי עבודה שכוללים הרבה כתיבה בתוך אזור ברירת המחדל הראשי או קרוב אליו.
- כדי ליהנות מביצועי קריאה אופטימליים מחוץ לאזור הראשי שמוגדר כברירת מחדל, צריך להשתמש בערך של 15 שניות לפחות לזמן שעבר מאז העדכון האחרון.
- כדי להימנע מתלות באזור אחד לעומסי העבודה, כדאי למקם משאבי מחשוב קריטיים בשני אזורים לפחות. אפשרות טובה היא למקם אותם לצד שני האזורים השונים לקריאה ולכתיבה, כדי שהפסקה של אזור אחד לא תשפיע על כל האפליקציה.
- מקצים מספיק קיבולת מחשוב כדי לשמור על ניצול כולל של פחות מ-45% מהמעבד (CPU) בעדיפות גבוהה בכל אזור.
- למידע על נפח התפוקה לכל צומת ב-Spanner, קראו את המאמר ביצועים של הגדרות במספר אזורים.
העברת מכונה
אתם יכולים להעביר את המכונה של Spanner מכל הגדרה של מכונה לכל הגדרה אחרת של מכונה, כולל בין הגדרות אזוריות להגדרות במספר אזורים. העברת המכונה לא גורמת להשבתה, ו-Spanner ממשיך לספק את התחייבויות העסקאות הרגילות, כולל עקביות חזקה, במהלך ההעברה.
מידע נוסף על העברת מכונת Spanner זמין במאמר העברת מכונה.
הגדרת אזור ראשי כברירת מחדל
כדי לשנות את המיקום של אזור ברירת המחדל של מסד הנתונים כך שיהיה קרוב יותר ללקוחות המתחברים, כדי לצמצם את זמן האחזור של האפליקציה, אפשר לשנות את אזור הלידר בכל מופע Spanner שמשתמש בהגדרה של בשני אזורים או של במספר אזורים. במאמר שינוי האזור הראשי של מסד נתונים מוסבר איך משנים את המיקום של האזור הראשי. האזורים היחידים שיכולים להיות האזור הראשי שמוגדר כברירת מחדל למסד הנתונים הם אזורי הקריאה והכתיבה בהגדרת שני האזורים או מספר האזורים.
האזור הראשי אחראי לטיפול בכל פעולות הכתיבה במסד הנתונים, כך שאם רוב התנועה מגיעה מאזור גיאוגרפי אחד, אפשר להעביר אותו לאזור הזה כדי לצמצם את זמן האחזור. עדכון אזור ברירת המחדל הראשי הוא זול ולא כרוך בהעברת נתונים. יעברו כמה דקות עד שהערך החדש ייכנס לתוקף.
שינוי של אזור ברירת המחדל הראשי הוא שינוי סכימה, שמשתמש בפעולה ממושכת. במקרה הצורך, אפשר לקבל את הסטטוס של הפעולה הממושכת.
פשרות: הגדרות אזוריות לעומת הגדרות בשני אזורים לעומת הגדרות במספר אזורים
| הגדרות אישיות | זמינות | זמן אחזור | עלות | אחסון ועיבוד נתונים באופן מקומי |
|---|---|---|---|---|
| אזורי | 99.99% | זמן אחזור קצר יותר של כתיבה באזור. | עלות נמוכה יותר; ראו תמחור. | הפעלת משילות מידע גיאוגרפי. |
| שני אזורים | 99.999% | זמני אחזור קצרים יותר לקריאה משני אזורים גיאוגרפיים; עלייה קלה בזמן האחזור לכתיבה. | עלות גבוהה יותר; ראו תמחור. | הנתונים מפוזרים בשני אזורים במדינה אחת. |
| במספר אזורים | 99.999% | זמני אחזור קצרים יותר לקריאה מכמה אזורים גיאוגרפיים; עלייה קלה בזמן האחזור לכתיבה. | עלות גבוהה יותר; ראו תמחור. | מפיץ את הנתונים בין כמה אזורים בתוך ההגדרה. |