מידע על רפליקציה ב-Cloud SQL

רפליקציה היא היכולת ליצור עותקים של מכונה ב-Cloud SQL ולהעביר את העבודה לעותקים.

מבוא

הסיבה העיקרית לשימוש ברפליקציה היא להרחיב את השימוש בנתונים במסד נתונים בלי לפגוע בביצועים.

סיבות אחרות לשכפול כוללות העברת נתונים בין אזורים.

בנוסף, אם המכונה המקורית נפגמת, אפשר לקדם רפליקה למכונה עצמאית (במקרה כזה, הרפליקות הקיימות לא יחשיבו את המכונה הזו כראשית).

כשמתייחסים למכונה של Cloud SQL, המכונה שמשוכפלת נקראת המכונה הראשית והעותקים נקראים רפליקות לקריאה בלבד. המכונה הראשית והרפליקות לקריאה בלבד נמצאות ב-Cloud SQL.

כשיוצרים את הרפליקה הראשונה:

  • המופע הראשי מוגדר למודל השחזור המלא לכל מסדי הנתונים במופע הראשי.
  • נוצר דיסק זמני, וגיבוי מלא נלקח ומאוחסן בדיסק הזמני. הדיסק הזמני נמחק אחרי שתהליך יצירת הרפליקה מסתיים.

אם במהלך יצירת הרפליקה הראשונה המשתמש עובר למודל השחזור הפשוט, יצירת הרפליקה נכשלת.

הכללים הבאים חלים על מסדי נתונים שנוספו למכונה הראשית אחרי שנוצרו הרפליקות:

  • מסדי הנתונים מתווספים לקבוצות הזמינות באופן אוטומטי, ומאוכלסים ברפליקות באמצעות הוספה אוטומטית של נתונים.
  • כל יצירת רפליקה מפעילה גיבוי מלא (מודל שחזור מלא) של מסדי נתונים במכונה הראשית. פרטי כניסה ואובייקטים של שרת שנוצרו אחרי יצירת הרפליקה לא משוכפלים באופן אוטומטי. כדי להעביר פרטי התחברות חדשים לרפליקה קיימת, משתמשים בפרוצדורה המאוחסנת sp_help_revlogin.

ב-Cloud SQL יש תמיכה בסוגים הבאים של רפליקות:

באמצעות אכיפת מחברים, אתם יכולים לאכוף שימוש רק ב-Cloud SQL Auth Proxy או במחברי שפה של Cloud SQL כדי להתחבר למכונות של Cloud SQL. כשמפעילים אכיפת מחבר, Cloud SQL דוחה חיבורים ישירים למסד הנתונים. אי אפשר ליצור רפליקות לקריאה בלבד למכונה שמופעלת בה אכיפת מחבר. באופן דומה, אם למכונה יש רפליקות לקריאה בלבד, אי אפשר להפעיל אכיפת מחבר במכונה.

ב-Cloud SQL אין תמיכה ברפליקציה בין שני שרתים חיצוניים.

עותקים לקריאה בלבד

אתם משתמשים ברפליקה לקריאה בלבד כדי להפחית את העומס על מכונה של Cloud SQL. הרפליקה לקריאה בלבד היא עותק מדויק של המכונה הראשית. נתונים ושינויים אחרים במכונה הראשית משוכפלים באופן אסינכרוני ומוחלים על הרפליקה לקריאה בלבד.

רפליקות לקריאה בלבד הן לקריאה בלבד, ואי אפשר לכתוב בהן. עותק לקריאה בלבד מעבד שאילתות, בקשות קריאה ותנועת ניתוח נתונים, וכך מפחית את העומס על המכונה הראשית. לכל מכונה ראשית יכולות להיות עד 8 רפליקות לקריאה בלבד.

מתחברים לרפליקה ישירות באמצעות שם החיבור וכתובת ה-IP שלה. אם אתם מתחברים לרפליקה באמצעות כתובת IP פרטית, אתם לא צריכים ליצור חיבור פרטי נוסף ל-VPC בשביל הרפליקה, כי החיבור עובר בירושה מהמכונה הראשית.

במאמר יצירת עותקים לקריאה בלבד מוסבר איך יוצרים עותק לקריאה בלבד. למידע על ניהול רפליקה לקריאה בלבד, ראו ניהול רפליקות לקריאה בלבד.

כשמשתמשים בזמינות גבוהה במכונה הראשית, מומלץ להציב את העותקים לקריאה בלבד באזור שונה מזה של המכונה הראשית. כך אפשר לוודא שהרפליקות לקריאה בלבד ימשיכו לפעול גם אם יש הפסקה זמנית בשירות באזור שבו נמצא המכונה הראשית. מידע נוסף זמין במאמר סקירה כללית של זמינות גבוהה.

בחירת סוג מכונה מתאים

לעותקי ה-Read Replica יכולים להיות מספר שונה של מעבדי vCPU וזיכרון מאלה של המכונה הראשית. כדאי לעקוב אחרי המדדים במכונה, כמו השימוש במעבד (CPU) ובזיכרון, כדי לוודא שהגודל של מכונת הרפליקה מתאים לעומס העבודה שלה, במיוחד אם היא קטנה יותר מהמכונה הראשית. מופע של רפליקה קטנה מדי נוטה יותר לביצועים נמוכים, כמו אירועים תכופים של חוסר בזיכרון (OOM).

נפח האחסון ברפליקות לקריאה בלבד

כשמשנים את הגודל של מכונה ראשית, כל הרפליקות לקריאה שלה משתנות בהתאם, אם צריך, כדי שיהיה להן לפחות את אותו נפח אחסון כמו למכונה הראשית המעודכנת.

רפליקות לקריאה באזורים שונים

רפליקה לקריאה בלבד בין אזורים מאפשרת ליצור רפליקה לקריאה בלבד באזור שונה מהמכונה הראשית. כדי ליצור עותק לקריאה בלבד באזור אחר, פועלים באותו אופן שבו יוצרים עותק באותו אזור.

במקרה של רפליקות לקריאה בלבד של SQL Server, ההנחה היא שהרפליקה נמצאת באותה רשת וירטואלית כמו הרפליקה הראשית, או שהן מתקשרות באמצעות כתובת IP ציבורית.

רפליקות באזורים שונים:

  • שיפור ביצועי הקריאה על ידי הפיכת הרפליקות לזמינות קרוב יותר לאזור של האפליקציה.
  • לספק יכולת נוספת של התאוששות מאסון כדי להגן מפני כשל אזורי.
  • להעביר נתונים מאזור אחד לאחר.

למידע נוסף על רפליקות באזורים שונים, ראו קידום רפליקות להעברה אזורית או להתאוששות מאסון.

רפליקות מדורגות לקריאה בלבד

רפליקציה מדורגת מאפשרת ליצור רפליקה לקריאה מתחת לרפליקה אחרת לקריאה, באותו אזור או באזור אחר. רפליקות מדורגות מיושמות באמצעות קבוצות זמינות מבוזרות. הנה כמה תרחישים לדוגמה לשימוש ברפליקות מדורגות:

  • תוכנית התאוששות מאסון (DR): אתם יכולים להשתמש בהיררכיה מדורגת של רפליקות לקריאה בלבד כדי לדמות את הטופולוגיה של המכונה הראשית והרפליקות שלה לקריאה בלבד. במהלך הפסקה, כשמשדרגים רפליקה לקריאה בלבד לראשית, הרפליקות לקריאה בלבד שמתחת לראשית החדשה ממשיכות לשכפל ומוכנות לשימוש. המופע הראשי הישן הופך למופע משני של המופע הראשי החדש כשהוא הופך לזמין, ואפשר לחזור למופע הראשי הישן אחרי שהוא מתאושש באמצעות מעבר. מידע נוסף על שימוש ברפליקות מדורגות להתאוששות מאסון זמין במאמר מידע על התאוששות מאסון.
  • שיפור הביצועים: הפחתת העומס על המכונה הראשית על ידי העברת עבודת הרפליקציה לכמה רפליקות לקריאה בלבד.
  • הרחבת פעולות הקריאה: אפשר להשתמש ביותר רפליקות כדי לחלוק את עומס הקריאה.
  • הפחתת עלויות: אתם יכולים להפחית את עלויות הרשת באמצעות רפליקה מדורגת אחת עם רפליקה באזורים אחרים.

הסברים על המונחים

  • רפליקה מדורגת: רפליקה לקריאה באזורים שונים, שאפשר להשתמש בה לפעולות של העברה ויתירות כשל של רפליקה בתוכנית מתקדמת להתאוששות מאסון (DR) באמצעות Cloud SQL ל-SQL Server.
  • רפליקה מדורגת: רפליקה לקריאה בלבד שיכולה להיות לה רפליקה משלה.
  • ‫Levels: אתם יכולים ליצור רמות של רפליקות בהיררכיית רפליקות מדורגת. לדוגמה, אם מוסיפים ארבע רפליקות למכונה, ארבע הרפליקות האלה נמצאות באותה רמה.
  • מכונות אחיות: כמה רפליקות שמשוכפלות מאותה מכונה ראשית. רפליקות אחיות נמצאות באותה רמה בהיררכיית הרפליקות. לרפליקה יכולים להיות עד שמונה אחים.
  • רפליקת עלה: רפליקה לקריאה בלבד שאין לה רפליקות משלה. בהיררכיית רפליקציה עם כמה רמות, הרפליקה ברמת העלה היא הרמה האחרונה.
  • קידום פעולה שממירה רפליקה, בכל רמה בהיררכיה, למכונה ראשית. כשמשדרגים, היררכיית הרפליקות המשורשרות של הרפליקה נשמרת.

הגדרת רפליקות מדורגות

רפליקות מדורגות מאפשרות להוסיף רפליקות לקריאה בלבד לכל רפליקה קיימת. אפשר להוסיף עד ארבע רמות של רפליקות, כולל המכונה הראשית. כשמקַדמים את הרפליקה בראש היררכיית הרפליקות המשורשרות, היא הופכת למכונה ראשית והרפליקות המשורשרות שלה ממשיכות לשכפל.

למידע נוסף על הגדרת קבוצות זמינות מבוזרות, קראו את המאמר הגדרת קבוצת זמינות מבוזרת של Always On.

הגבלות

  • אי אפשר למחוק רפליקה שיש לה רפליקות משלה. כדי למחוק את הרפליקה, צריך להתחיל עם הרפליקות של העלים ולהתקדם כלפי מעלה בהיררכיה.
  • אין תמיכה בתלות מעגלית בין אזורים. אי אפשר לשכפל מאזור אחד לאזור אחר ואז בחזרה לאזור המקורי. כדי שהרפליקה של רפליקה מדורגת תהיה באותו אזור כמו המכונה הראשית, גם הרפליקה המדורגת צריכה להיות באותו אזור.
  • צריך ליצור רפליקות מדורגות באזור שונה מהאזור של המכונה הראשית. לאחר מכן תוכלו ליצור רפליקות מדורגות באותו אזור שבו נמצאת הרפליקה שניתנת להעברה מדורגת.

תרחישי שימוש ברפליקציה

תרחישי השימוש הבאים רלוונטיים לכל סוג של רפליקציה.

שם ראשי רפליקה יתרונות ותרחישים לדוגמה מידע נוסף
עותק לקריאה בלבד מכונה של Cloud SQL מכונה של Cloud SQL
  • קיבולת קריאה נוספת
  • יעד ב-Analytics
  • שיפור ביצועי קריאה
  • ייצוא מרפליקות
רפליקה לקריאה באזורים שונים מכונה של Cloud SQL מכונה של Cloud SQL
  • קיבולת קריאה נוספת
  • יעד ב-Analytics
  • יכולת נוספת של תוכנית התאוששות מאסון (DR)
  • שיפור ביצועי קריאה
  • העברת נתונים בין אזורים
רפליקציה של שרת SQL מכונה מחוץ ל-Cloud SQL מכונה של Cloud SQL ל-SQL Server
  • נתיב ההעברה ל-Cloud SQL
  • רפליקציה משרת חיצוני ל-Cloud SQL
  • רפליקציה מ-Cloud SQL לשרת חיצוני
  • רפליקציה בין מכונות של Cloud SQL
  • שכפול נתונים אל Google Cloud
  • יעד ב-Analytics

חיוב

  • החיוב על עותק לקריאה בלבד הוא באותו תעריף כמו מכונה רגילה של Cloud SQL. אין חיוב על שכפול הנתונים.
  • התמחור של רפליקה לקריאה חוצת-אזורים זהה לתמחור של יצירת מכונה חדשה של Cloud SQL באזור. במחירון של מכונות Cloud SQL בוחרים את האזור המתאים. בנוסף לעלות הרגילה שמשויכת למכונה, על רפליקה חוצת-אזורים חלים חיובים על העברת נתונים בין אזורים, עבור יומני הרפליקציה שנשלחים מהמכונה הראשית למכונת הרפליקה, כפי שמתואר בקטע תמחור של תעבורת נתונים יוצאת (egress) ברשת.

הפניה מהירה לרפליקות לקריאה בלבד ב-Cloud SQL

נושא קבוצת הדיון
גיבויים אי אפשר להגדיר גיבויים ברפליקה.
ליבות וזיכרון עותקים לקריאה בלבד יכולים להשתמש במספר ליבות ובכמות זיכרון שונים מאלה של המכונה הראשית.
מחיקת המכונה הראשית כדי למחוק מכונה ראשית, צריך לקדם את כל הרפליקות לקריאה בלבד שלה למכונות עצמאיות או למחוק את הרפליקות לקריאה בלבד.
מחיקת הרפליקה כשמוחקים רפליקה, אין לכך השפעה על הסטטוס של המכונה הראשית.
מחיקת מסד נתונים משוכפל אפשר למחוק מסד נתונים משוכפל של SQL Server באמצעות מסוף Google Cloud או הפקודה gcloud, והמחיקה מתפשטת באופן אוטומטי לרפליקות. אי אפשר למחוק מסד נתונים משוכפל של SQL Server באמצעות פקודות T-SQL.
יתירות כשל מופע ראשי יכול לעבור למצב של יתירות כשל ברפליקה רק אם הרפליקה היא רפליקה מדורגת. עותקים לקריאה בלבד לא יכולים לעבור למצב יתירות כשל במהלך הפסקה.
איזון עומסים ב-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 מעתיק אותם לרפליקה החדשה. אחרי שהפעולה הזו מתרחשת, אם מוסיפים פרטי כניסה למכונה הראשית, Cloud SQL לא מפיץ אותם באופן אוטומטי לרפליקות הקיימות. עם זאת, אתם יכולים להעביר באופן ידני פרטי התחברות חדשים לרפליקות קיימות באמצעות הפרוצדורה המאוחסנת sp_help_revlogin.

  • אתם צריכים לעקוב אחרי הרפליקה באמצעות T-SQL או SQL Server Management Studio.

  • לפני שמוחקים מסד נתונים, צריך לסגור את החיבורים אליו.

  • כשיוצרים רפליקה, המכונה הראשית לא יכולה להכיל מסדי נתונים במצב של משתמש יחיד. אחרת, יצירת הרפליקה תיכשל.

  • כדי ליצור רפליקה, המכונה הראשית צריכה לעמוד בדרישות הבאות:

    • אסור להכיל מסדי נתונים במצב של משתמש יחיד.
    • אסור לכלול מסדי נתונים במצב OFFLINE.
    • אסור שהפרויקט יכיל מסדי נתונים במצב קריאה בלבד.
    • אסור שהם יכילו מסדי נתונים שהוגדרו לסגירה אוטומטית.
    • אסור להשתמש בו בתור מסד נתונים להפצה.
    • אסור להפעיל שכפול טרנזקציות בדחיפה.
    • לא יכול להיות תמונת מצב של מסד נתונים.

    אם המכונה הראשית לא עומדת בדרישות, יצירת הרפליקה תיכשל ותוחזר הודעת השגיאה הבאה:

    Instance is not eligible for replica creation...
    
  • אי אפשר להגדיר רפליקציה במכונה שמוגדרת עם רפליקציה חיצונית.

המאמרים הבאים