רפליקציה היא היכולת ליצור עותקים של מופע Cloud SQL ולהעביר עבודה לעותקים.
מבוא
הסיבה העיקרית לשימוש בשכפול היא להרחיב את השימוש בנתונים במסד נתונים בלי לפגוע בביצועים.
סיבות אחרות לשכפול כוללות העברת נתונים בין אזורים.
בנוסף, אם מופע מקורי מושחת, אפשר לקדם רפליקה למופע עצמאי (במקרה כזה, רפליקות קיימות לא יראו את המופע הזה כראשי).
כשמתייחסים למכונה של Cloud SQL, המכונה שמשוכפלת נקראת מכונה ראשית והעותקים נקראים רפליקות לקריאה. המופע הראשי והעותקים לקריאה נמצאים ב-Cloud SQL.
כשמשכפלים את הנתונים בפעם הראשונה:
- המופע הראשי מוגדר למודל שחזור מלא לכל מסדי הנתונים במופע הראשי.
נוצר דיסק זמני, וגיבוי מלא מתבצע ונשמר בדיסק הזמני. הדיסק הזמני נמחק אחרי שתהליך יצירת הרפליקה מסתיים.
אם במהלך התקופה שבה נוצרת הרפליקה הראשונה, המשתמש עובר אל מודל השחזור הפשוט, יצירת הרפליקה תיכשל.
הכללים הבאים חלים על מסדי נתונים שנוספו למופע הראשי אחרי שיצרתם את העותקים:
- מסדי הנתונים מתווספים לקבוצות הזמינות באופן אוטומטי ומאוכלסים בעותקים באמצעות הוספה אוטומטית של נתונים.
- כל יצירה של עותק משכפל מפעילה גיבוי מלא (מודל שחזור מלא) של מסדי נתונים במופע הראשי. התחברויות ואובייקטים של שרת שנוצרו אחרי יצירת העותק לא משוכפלים.
Cloud SQL תומך בסוגים הבאים של רפליקות:
באמצעות אכיפת מחברים, אתם יכולים לאכוף שימוש רק בשרת proxy ל-Cloud SQL Auth או במחברים של Cloud SQL Language כדי להתחבר למכונות Cloud SQL. עם אכיפת מחבר, Cloud SQL דוחה חיבורים ישירים למסד הנתונים. אי אפשר ליצור עותקים לקריאה של מופע שמופעלת בו אכיפה של מחברים. באופן דומה, אם יש מופע עם עותקים לקריאה, אי אפשר להפעיל את האכיפה של המחבר עבור המופע.
Cloud SQL לא תומך בשכפול בין שני שרתים חיצוניים.
רפליקות לקריאה
אתם משתמשים בעותק לקריאה כדי להפחית את העומס על מכונת Cloud SQL. העותק לקריאה הוא עותק מדויק של המופע הראשי. הנתונים ושינויים אחרים במכונה הראשית מתעדכנים ברפליקה לקריאה כמעט בזמן אמת.
העתקים לקריאה בלבד הם לקריאה בלבד, ואי אפשר לכתוב להם. העותק לקריאה מעבד שאילתות, בקשות קריאה ותנועה של ניתוח נתונים, וכך מפחית את העומס על המופע הראשי. אפשר להגדיר עד 8 רפליקות לקריאה לכל מופע ראשי.
מתחברים ישירות לרפליקה באמצעות שם החיבור וכתובת ה-IP שלה. אם אתם מתחברים לרפליקה באמצעות כתובת IP פרטית, אתם לא צריכים ליצור חיבור פרטי נוסף ל-VPC עבור הרפליקה, כי החיבור עובר בירושה מהמכונה הראשית.
מידע על יצירת עותק לקריאה זמין במאמר יצירת עותקים לקריאה. מידע על ניהול רפליקה לקריאה מופיע במאמר בנושא ניהול רפליקות לקריאה.
כשיטה מומלצת, אם משתמשים בזמינות גבוהה במופע הראשי, כדאי למקם את העותקים לקריאה באזור אחר מהמופע הראשי. השיטה הזו מבטיחה שרפליקות קריאה ימשיכו לפעול כשהאזור שמכיל את המופע הראשי חווה הפסקה זמנית בשירות. מידע נוסף זמין במאמר סקירה כללית של זמינות גבוהה.
בחירת סוג מכונה מתאים
לעותקי קריאה יכולים להיות מספר שונה של מעבדים וירטואליים וזיכרון בהשוואה לשרת הראשי. כדאי לעקוב אחרי מדדים במכונה, כמו השימוש במעבד ובזיכרון, כדי לוודא שהגודל של מכונת הרפליקה מתאים לעומס העבודה שלה, במיוחד אם היא קטנה יותר מהמכונה הראשית. אם גודל המופע המשוכפל קטן מדי, הוא יהיה מועד יותר לביצועים ירודים, כמו אירועים תכופים של חריגה מזיכרון (OOM).
נפח אחסון בעותקי קריאה
כשמשנים את הגודל של מכונה ראשית, כל הרפליקות לקריאה שלה משנות את הגודל, אם צריך, כך שלפחות יהיה להן נפח אחסון כמו למכונה הראשית המעודכנת.
רפליקות לקריאה באזורים שונים
רפליקציה בין אזורים מאפשרת ליצור עותק לקריאה באזור שונה מהמופע הראשי. יוצרים רפליקה לקריאה באזור אחר באותו אופן שבו יוצרים רפליקה באותו אזור.
במקרה של רפליקות לקריאה ב-SQL Server, ההנחה היא שהרפליקה נמצאת באותה רשת וירטואלית כמו הרפליקה הראשית, או שהן מתקשרות באמצעות כתובת IP ציבורית.רפליקות בין אזורים:
- כדי לשפר את ביצועי הקריאה, כדאי להפוך רפליקות לזמינות קרוב יותר לאזור של האפליקציה.
- לספק יכולת נוספת להתאוששות מאסון כדי להגן מפני כשל אזורי.
- מאפשרת להעביר נתונים מאזור אחד לאזור אחר.
מידע נוסף על רפליקות חוצות-אזורים זמין במאמר העלאת רפליקות בדרגה להעברה אזורית או להתאוששות מאסון.
שכפול קריאה מדורג
רפליקציה מדורגת מאפשרת ליצור רפליקה לקריאה מתחת לרפליקה אחרת לקריאה באותו אזור או באזור אחר. שכפול מדורג מיושם באמצעות קבוצות זמינות מבוזרות. הנה כמה תרחישים לדוגמה לשימוש בשכפול מדורג:
- תוכנית התאוששות מאסון (DR): אפשר להשתמש בהיררכיה מדורגת של עותקים לקריאה כדי לדמות את הטופולוגיה של המופע הראשי והעותקים שלו לקריאה. במהלך הפסקת שירות, הרפליקה לקריאה שנבחרה מקודמת לרפליקה ראשית, והרפליקות לקריאה שמתחת לרפליקה הראשית החדשה ממשיכות לשכפל ומוכנות לשימוש. הדומיין הראשי הישן הופך לדומיין משני של הדומיין הראשי החדש כשהוא זמין, ואפשר לחזור לדומיין הראשי הישן אחרי שהוא משוחזר באמצעות מעבר לגיבוי. מידע נוסף על שימוש בעותקים משוכפלים מדורגים לתוכנית התאוששות מאסון (DR), זמין במאמר מידע על שחזור לאחר אסון.
- שיפור הביצועים: כדי להפחית את העומס על המופע הראשי, אפשר להעביר את עבודת השכפול למספר רפליקות לקריאה.
- הגדלת קריאות: אפשר להגדיל את מספר הרפליקות כדי לחלק את עומס הקריאה.
- הפחתת עלויות: אתם יכולים להפחית את עלויות הרישות באמצעות שימוש ברפליקה משוכפלת מדורגת יחידה עם רפליקציה באזורים שונים באזורים אחרים.
הסברים על המונחים
- עותק קריאה משוכפל (replica) עם אפשרות להעברה מדורגת (cascadable): עותק קריאה משוכפל חוצה-אזורים שאפשר להשתמש בו לביצוע פעולות של מעבר לגיבוי (switchover) ומעבר לגיבוי במקרה של כשל (failover) בהתאוששות מתקדמת מאסון (DR) באמצעות Cloud SQL ל-SQL Server.
- שכפול מדורג: עותק לקריאה שיכול להיות לו עותק משלו.
- רמות: אפשר ליצור רמות של רפליקות בהיררכיית רפליקות מדורגת. לדוגמה, אם מוסיפים ארבעה עותקים למקרה שימוש, ארבעת העותקים האלה נמצאים באותה רמה.
- מופעים מקבילים: כמה עותקים משוכפלים שמשוכפלים מאותו מופע ראשי. פריטים באותה רמה בהיררכיית הרפליקה. לרפליקה יכולים להיות עד שמונה אחים.
- רפליקה מסוג leaf: רפליקה לקריאה שאין לה רפליקות משלה. בהיררכיית שכפול מרובת רמות, הרפליקה ברמת העלה היא הרמה האחרונה.
- קידום פעולה שממירה העתק, בכל רמה בהיררכיה, למופע ראשי. כשמקודמים את העותק, היררכיית העותקים המשוכפלים שלו נשמרת.
הגדרת עותקים משוכפלים מדורגים
שכפול מדורג מאפשר להוסיף עותקים לקריאה לכל עותק קיים. אפשר להוסיף עד ארבע רמות של רפליקות, כולל המופע הראשי. כשמקדמים את הרפליקה בחלק העליון של היררכיית רפליקות מדורגת, היא הופכת למופע ראשי והרפליקות המדורגות שלה ממשיכות לשכפל.
מידע נוסף על הגדרת קבוצות זמינות מבוזרות זמין במאמר הגדרת קבוצת זמינות מבוזרת Always On.
הגבלות
- אי אפשר למחוק רפליקה שיש מתחתיה רפליקות. כדי למחוק את העותק, צריך להתחיל עם העותקים של העלים ולהתקדם כלפי מעלה בהיררכיה.
- אין תמיכה בתלות אזורית מעגלית. כדי שהרפליקה של רפליקה מדורגת תהיה באותו אזור כמו המופע הראשי, הרפליקה המדורגת צריכה להיות גם היא באותו אזור.
- צריך ליצור עותקים משוכפלים שניתנים להעברה לאזור אחר, ולא באותו אזור של המופע הראשי. אחרי זה תוכלו ליצור עותקים משוכפלים מדורגים באותו אזור שבו נמצא העותק המשוכפל שניתן לשכפול.
תרחישי שימוש בשכפול
תרחישי השימוש הבאים רלוונטיים לכל סוג של שכפול.
| שם | ראשי | רפליקה | יתרונות ותרחישי שימוש | מידע נוסף |
|---|---|---|---|---|
| עותק לקריאה | מופע Cloud SQL | מופע Cloud SQL |
|
|
| עותק לקריאה באזור אחר | מופע Cloud SQL | מופע Cloud SQL |
|
|
| שכפול של SQL Server | מכונה חיצונית ל-Cloud SQL | מופע של Cloud SQL ל-SQL Server |
|
חיוב
- החיוב על רפליקה לקריאה זהה לחיוב על מופע רגיל של Cloud SQL. אין חיוב על שכפול הנתונים.
- התמחור של רפליקת קריאה חוצה-אזורים זהה לתמחור של יצירת מופע חדש של Cloud SQL באזור. אפשר לעיין במחירון של מופעי Cloud SQL ולבחור את האזור המתאים. בנוסף לעלות הרגילה שמשויכת למופע, שכפול חוצה אזורים כרוך בחיובים על העברת נתונים חוצה אזורים עבור יומני שכפול שנשלחים מהמופע הראשי למופע המשוכפל, כפי שמתואר בתמחור של תעבורת נתונים יוצאת (egress) ברשת.
הסבר מהיר על רפליקות לקריאה ב-Cloud SQL
| נושא | קבוצת הדיון |
|---|---|
| גיבויים | אי אפשר להגדיר גיבויים ברפליקה. |
| ליבות וזיכרון | העותקים לקריאה יכולים להשתמש במספר ליבות שונה ובכמות זיכרון שונה מאלה של המופע הראשי. |
| מחיקת המכונה הראשית | כדי למחוק מופע ראשי, צריך להעלות בדרגה את כל הרפליקות לקריאה בלבד למופעים עצמאיים או למחוק אותן. |
| מחיקת הרפליקה | כשמוחקים רפליקה, אין לכך השפעה על הסטטוס של המופע הראשי. |
| מחיקה של מסד נתונים משוכפל | אפשר למחוק מסד נתונים משוכפל של SQL Server באמצעות Google Cloud המסוף או הפקודה gcloud, והמחיקה מועברת אוטומטית אל העותקים המשוכפלים. אי אפשר למחוק מסד נתונים משוכפל של SQL Server באמצעות פקודות T-SQL. |
| מעבר לגיבוי (Failover) | מופע ראשי יכול לבצע יתירות כשל למופע רפליקה רק אם המופע רפליקה הוא מופע רפליקה של DR. במהלך הפסקה זמנית בשירות, רפליקות לקריאה לא יכולות לבצע יתירות כשל בשום צורה. |
| איזון עומסים | Cloud SQL לא מספק איזון עומסים בין העתקים. |
| חלונות זמן לתחזוקה | רפליקות לקריאה חולקות את חלונות הזמן לתחזוקה עם המכונה הראשית. הרפליקות פועלות לפי הגדרות התחזוקה של המכונה הראשית, כולל חלון הזמן לתחזוקה, שינוי מועד התחזוקה ותקופת התחזוקה האסורה. במהלך התחזוקה, מערכת Cloud SQL מעדכנת קודם את כל הרפליקות לקריאה לפני שהיא מעדכנת את המכונה הראשית. |
| עותקי קריאה מרובים | אפשר ליצור עד 8 רפליקות לקריאה עבור מופע ראשי יחיד. |
| כתובת IP פרטית | אם מתחברים לרפליקה באמצעות כתובת IP פרטית, לא צריך ליצור חיבור VPC פרטי נוסף לרפליקה, כי היא מקבלת אותו בירושה מהמופע הראשי. |
| שחזור המכונה הראשית | אי אפשר לשחזר את המופע הראשי של רפליקה כל עוד הרפליקה קיימת. לפני שמשחזרים מופע מגיבוי או מבצעים בו שחזור מערכת מנקודה מסוימת בזמן (PITR), צריך לקדם את כל הרפליקות שלו או למחוק אותן. |
| הגדרות | ההגדרות של המופע הראשי מועברות לרפליקה, כולל שינויים בנתונים על משתמשים שיכולים לגשת למופע. |
| הפסקת רפליקה | אי אפשר stop רפליקה. אפשר restart או delete אותו, אבל אי אפשר להפסיק אותו כמו שאפשר להפסיק מופע ראשי. |
| שדרוג רפליקה | שדרוג משבש יכול להתרחש בכל שלב בעותקי קריאה. |
| טבלאות משתמשים | אי אפשר לבצע שינויים ברפליקה. כל השינויים שקשורים למשתמשים צריכים להתבצע במופע הראשי. |
מגבלות
התכונה הזו רלוונטית רק לגרסאות הבאות של Cloud SQL ל-SQL Server:
- SQL Server 2017 Enterprise
- SQL Server 2019 Enterprise
- SQL Server 2022 Enterprise
Cloud SQL לא תומך בשכפולים של שחזור מתקדם אחרי אסון (DR) באותו אזור. אם רוצים ליצור רפליקה לקריאה באותו אזור כמו המקור, אפשר להעלות בדרגה את הרפליקה לקריאה למופע ראשי חדש.
שכפול מדורג זמין רק במהדורת Cloud SQL Enterprise Plus.
אי אפשר ליצור העתקה מדורגת מהמסוף Google Cloud .
אם קיימות כניסות במכונה הראשית כש-Cloud SQL יוצר את העותק, המערכת מעתיקה אותן לעותק החדש. אחרי שזה קורה, אם מוסיפים כניסות לשרת הראשי, Cloud SQL לא מעביר אותן לרפליקות קיימות.
צריך לעקוב אחרי הרפליקה באמצעות T-SQL או SQL Server Management Studio.
לפני שמוחקים מסד נתונים, צריך לסגור את החיבורים למסד הנתונים.
כשיוצרים רפליקה, המופע הראשי לא יכול להכיל מסדי נתונים במצב משתמש יחיד. אחרת, יצירת העותק תיכשל.
כדי ליצור רפליקה, המופע הראשי צריך לעמוד בדרישות הבאות:
- אסור להכיל מסדי נתונים במצב משתמש יחיד.
- אסור להכיל מסדי נתונים במצב
OFFLINE. - אסור לכלול מסדי נתונים במצב קריאה-בלבד.
- הם לא יכולים להכיל מסדי נתונים עם הפעלה של סגירה אוטומטית.
- אסור להשתמש בו כמסד נתונים להפצה.
- אסור להפעיל שכפול טרנזקציות מסוג push.
- הקובץ לא יכול להיות תמונת מצב של מסד נתונים.
אם המופע הראשי לא עומד בדרישות הנדרשות, יצירת הרפליקה תיכשל ותוחזר הודעת השגיאה הבאה:
אי אפשר להגדיר שכפול במופע שהוגדר עם שכפול חיצוני.