שכפול הוא היכולת ליצור עותקים של מופע 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 עבור הרפליקה, כי החיבור עובר בירושה מהמכונה הראשית.
מידע על יצירת עותק לקריאה זמין במאמר יצירת עותקים לקריאה. מידע על ניהול רפליקה לקריאה מופיע במאמר בנושא ניהול רפליקות לקריאה.
מומלץ להציב רפליקות לקריאה באזור אחר מהאזור של המופע הראשי כשמשתמשים בזמינות גבוהה במופע הראשי. השיטה הזו מבטיחה שעותקי הקריאה ימשיכו לפעול כשהאזור שמכיל את המופע הראשי יצא מכלל פעולה. מידע נוסף זמין במאמר סקירה כללית של זמינות גבוהה.
בחירת סוג מכונה מתאים
לעותקי קריאה יכולים להיות מספר שונה של מעבדי CPU וירטואליים וזיכרון בהשוואה לשרת הראשי. כדאי לעקוב אחרי מדדים במכונה, כמו השימוש במעבד ובזיכרון, כדי לוודא שהגודל של מכונת הרפליקה מתאים לעומס העבודה שלה, במיוחד אם היא קטנה יותר מהמכונה הראשית. מופע משוכפל שגודלו קטן מדי נוטה יותר לביצועים נמוכים, כמו אירועים תכופים של חוסר זיכרון (OOM).
נפח האחסון בעותקי קריאה
כשמשנים את הגודל של מכונה ראשית, כל הרפליקות לקריאה שלה משנות את הגודל, אם צריך, כך שלפחות יהיה להן נפח אחסון כמו למכונה הראשית המעודכנת.
רפליקות לקריאה באזורים שונים
רפליקציה בין אזורים מאפשרת ליצור רפליקת קריאה באזור שונה מהמופע הראשי. יוצרים רפליקה לקריאה בין אזורים באותו אופן שבו יוצרים רפליקה באזור.
במקרה של רפליקות לקריאה ב-SQL Server, ההנחה היא שהרפליקה נמצאת באותה רשת וירטואלית כמו הרפליקה הראשית, או שהן מתקשרות באמצעות כתובת IP ציבורית.רפליקות בין אזורים:
- כדי לשפר את ביצועי הקריאה, כדאי להפוך את העותקים הזמינים לקרבים יותר לאזור של האפליקציה.
- לספק יכולת נוספת של תוכנית התאוששות מאסון (DR) כדי להגן מפני כשל אזורי.
- מאפשרת להעביר נתונים מאזור אחד לאזור אחר.
מידע נוסף על רפליקות באזורים שונים זמין במאמר קידום רפליקות להעברה אזורית או להתאוששות מאסון.
שכפול קריאה מדורג
רפליקציה מדורגת מאפשרת ליצור רפליקה לקריאה מתחת לרפליקה אחרת לקריאה באותו אזור או באזור אחר. שכפול מדורג מיושם באמצעות קבוצות זמינות מבוזרות. הנה כמה תרחישי שימוש בשכפול מדורג:
- תוכנית התאוששות מאסון (DR): אפשר להשתמש בהיררכיה מדורגת של רפליקות לקריאה כדי לדמות את הטופולוגיה של המופע הראשי והרפליקות לקריאה שלו. במהלך הפסקת שירות, הרפליקה לקריאה שנבחרה מקודמת לרפליקה ראשית, והרפליקות לקריאה שמתחת לרפליקה הראשית החדשה ממשיכות לשכפל ומוכנות לשימוש. הדומיין הראשי הישן הופך לדומיין משני של הדומיין הראשי החדש כשהוא זמין, ואפשר לחזור לדומיין הראשי הישן אחרי שהוא משוחזר באמצעות מעבר גיבוי לשחזור. מידע נוסף על שימוש בעותקים משוכפלים מדורגים לשחזור לאחר אסון זמין במאמר מידע על שחזור לאחר אסון.
- שיפור הביצועים: כדי להפחית את העומס על המופע הראשי, אפשר להעביר את עבודת השכפול לכמה עותקים לקריאה בלבד.
- הגדלת מספר הקריאות: אפשר להגדיל את מספר העותקים כדי לחלק את עומס הקריאה.
- הפחתת עלויות: אפשר להפחית את עלויות הרשת על ידי שימוש בעותק משוכפל יחיד עם שכפול באזורים שונים באזורים אחרים.
הסברים על המונחים
- שכפול מדורג: עותק לקריאה חוצה אזורים שאפשר להשתמש בו לביצוע פעולות של מעבר לגיבוי ולמעבר לגיבוי במקרה של כשל בהתאוששות מתקדמת מאסון (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 פרטי נוסף לרפליקה, כי היא מקבלת אותו בירושה מהמופע הראשי. |
| שחזור המכונה הראשית | אי אפשר לשחזר את המופע הראשי של העתק בזמן שההעתק קיים. לפני שמשחזרים מופע מגיבוי או מבצעים בו שחזור לנקודת זמן מסוימת, צריך לקדם או למחוק את כל העותקים שלו. |
| הגדרות | ההגדרות של המופע הראשי מועברות למופע המשוכפל, כולל שינויים בנתונים על משתמשים שיכולים לגשת למופע. |
| הפסקת פעולה של עותק | אי אפשר 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 מעתיק אותן לעותק החדש. אחרי שזה קורה, אם מוסיפים כניסות לשרת הראשי, Cloud SQL לא מעביר אותן לשכפולים קיימים.
חובה לעקוב אחרי העותק המשוכפל באמצעות T-SQL או SQL Server Management Studio.
לפני שמוחקים מסד נתונים, צריך לסגור את החיבורים למסד הנתונים.
כשיוצרים העתק, המופע הראשי לא יכול להכיל מסדי נתונים במצב משתמש יחיד. אחרת, יצירת העותק תיכשל.
כדי ליצור העתק, המופע הראשי צריך לעמוד בדרישות הבאות:
- אסור להכיל מסדי נתונים במצב משתמש יחיד.
- אסור לכלול מסדי נתונים במצב
OFFLINE. - אסור לכלול מסדי נתונים במצב קריאה-בלבד.
- הם לא יכולים להכיל מסדי נתונים שהאפשרות 'סגירה אוטומטית' מופעלת בהם.
- אסור להשתמש בו כמסד נתונים להפצה.
- אסור להפעיל שכפול טרנזקציות מסוג push.
- לא יכול להיות snapshot של מסד נתונים.
אם המופע הראשי לא עומד בדרישות הנדרשות, יצירת העותק תיכשל ותוחזר הודעת השגיאה הבאה:
אי אפשר להגדיר שכפול במופע שהוגדר עם שכפול חיצוני.