במסמך הזה מוסברים המושגים המרכזיים וטופולוגיות הפריסה של Spanner Omni. המאמר מתאר את הקשר ההיררכי בין אזורים, אזורים ושרתים, ומסביר איך הרכיבים האלה קשורים לשכפול ולאחסון נתונים בפריסה.
מושגים ב-Spanner Omni
בקטעים הבאים מפורטים המונחים שמופיעים במאמרי Spanner Omni. היכרות עם המושגים האלה תעזור לכם להבין את ארכיטקטורת המערכת ואת אופן הפעולה שלה.
פריסה
פריסה של Spanner Omni, שמאפשרת לכם להשתמש במסדי הנתונים במרכזי הנתונים או בחשבונות הענן הציבורי שלכם. יוצרים את הפריסה בהתאם לפרמטרים שצוינו בהגדרת הפריסה. פריסת Spanner Omni שוות ערך למכונת Spanner ב-Google Cloud.
הגדרת התצורה של פריסה
המדיניות מספקת את המיקום והמפרט של אזורים, אזורים ושרתים לפריסת Spanner Omni. אתם יכולים לבחור שרת יחיד, אזור יחיד או הגדרה של פריסה בכמה אזורים.
מיקום
המונח המקביל ל-region ב Google Cloud . השהיית הרשת בין שני אזורים היא משמעותית. בפריסות מקומיות, אפשר להגדיר אזורים משלכם. בפריסות בענן, האזור צריך להיות זהה לאזורים אצל ספק הענן הרלוונטי. באזור אחד יכולים להיות כמה תחומים.
עיבוד
השרת של Spanner מבצע פיצול (fork) ומנהל כמה תהליכים. לדוגמה, TimeServer ו-spanserver הם תהליכים ב-Spanner. יכול להיות שלתהליכים מסוימים יש נתונים סטטיסטיים של מעקב, כמו שימוש במעבד ובזיכרון. תהליך יכול לפתוח יציאות כדי לתקשר עם שרתים אחרים בפריסה.
עותק
Spanner משכפל נתונים כדי לספק זמינות נתונים ומקומיות גיאוגרפית. ברמה גבוהה, כל הנתונים ב-Spanner מאורגנים בשורות. מערכת Spanner יוצרת כמה עותקים, או רפליקות, של השורות האלה, ואז מאחסנת את הרפליקות האלה באזורים גיאוגרפיים שונים. Spanner משתמש בסכמת שכפול סינכרונית שמבוססת על Paxos, שבה עותקים משוכפלים מצביעים על כל בקשת כתיבה לפני שהכתיבה מתבצעת במסד הנתונים. בדומה ל-Spanner, יש שלושה סוגי עותקים משוכפלים ב-Spanner Omni: read-write, read-only ו-witness. מידע נוסף זמין במאמר סוגי רפליקות במסמכי התיעוד של Spanner.
שרת
שרת הוא משאב מחשוב, כמו מכונה וירטואלית או קונטיינר, שבו פועל שרת Spanner Omni. לכל שרת יש משאבי מערכת משלו: מעבד, זיכרון ואחסון. השרת מספק את היכולות של Spanner Omni על ידי אחסון נתוני משתמשים והצגתם.
שרתי בסיס
בשרתי הבסיס מאוחסנים מטא-נתונים חיוניים לתמיכה באזור. לדוגמה, שרת הבסיס מאחסן את החברות בשרת ומידע אחר על הגדרות האזור.
מספר שרתי הבסיס בכל אזור חייב להיות מספר אי-זוגי בין אחד לתשעה, כולל, כדי להבטיח קוורום לעקביות. אם מספר השרתים הוא מספר זוגי, יכול להיות שהפריסות ייכשלו. כשמגדירים את האזורים, מציינים ששרתים מסוימים הם שרתי הבסיס. מומלץ להשתמש באזור אחד לפיתוח או לבדיקות, ובשלושה אזורים לסביבת ייצור עם זמינות גבוהה.
חשוב להביא בחשבון את מספר שרתי הבסיס כשמתכננים את הפריסה. אפשר לשנות את מספר שרתי הבסיס בפריסה אחרי שיוצרים אותה, אבל אנחנו לא ממליצים לעשות את זה.
שרתים שאינם שרתי בסיס
בשרתים שאינם שרתי בסיס מאוחסנים נתוני משתמשים, והם מספקים דרך להרחבת קיבולת המחשוב והאחסון של אזור. אתם יכולים להוסיף לפריסה כמה שרתים שהם לא שרתי בסיס, בהתאם לדרישות של עומס העבודה. אפשר לשנות את מספר השרתים שאינם שרתי בסיס אחרי שיוצרים את הפריסה.
פיצול
פיצול ב-Spanner מכיל טווח של שורות נתונים סמוכות, כאשר Spanner מסדר את השורות לפי המפתח הראשי. Spanner יוצר רפליקות של כל פיצול ומאחסן אותן בכל אזור.
אחסון
האחסון הקבוע שמחובר לשרת.
תחום (zone)
קבוצה של שרת אחד או יותר. לשכפול נתונים, צריך ליצור אזור אחד לכל עותק. בפריסות מקומיות, מומלץ לצמצם את שיתוף התשתית (מכונות וירטואליות, דיסקים) בין אזורים. בפריסות בענן, צריך להתאים את התחומים לאזורי הזמינות ב-AWS או לתחומים ב- Google Cloud.