מידע על מאגרי קריאה

מאגרי קריאה ב-Cloud SQL תומכים באיזון עומסים בעומסי עבודה גדולים של קריאה.

מהם מאגרי קריאה?

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

כל עותק לקריאה בלבד במאגר נקרא צומת במאגר לקריאה בלבד.

יש כמה דרכים להגדיל את מאגר הקריאה:

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

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

גישה למאגר קריאה דרך נקודת קצה אחת לקריאה

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

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

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

רפליקציה

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

מידע נוסף זמין במאמר מידע על רפליקציה.

קריאה של התאמה לעומס (autoscaling) במאגר

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

קריאת מאפייני הבריכה

המאפיינים הבאים חלים:

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

    לדוגמה, כשמשתמשים ב-gcloud CLI כדי ליצור מאגר קריאה, משתמשים בפקודה gcloud sql instances create. באופן דומה, כדי לבדוק את מספר הצמתים של מאגר הקריאה שהוגדרו במאגר קריאה, משתמשים בפקודה gcloud sql instances describe.

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

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

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

המספר הכולל של רפליקות לקריאה וצומתי מאגר לקריאה שמשוכפלים מאותו מכונה ראשית לא יכול להיות גדול מ-7.

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

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

אפשר להמיר רפליקה לקריאה בלבד למאגר לקריאה בלבד, ואז לשנות את מספר הצמתים במאגר לקריאה בלבד למספר שגדול מ-1.

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

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

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

מידע נוסף זמין במאמר התאמה אוטומטית לעומס (scaling) של מאגר קריאה.

מגבלות

המגבלות הבאות חלות:

  • מאגרי קריאה זמינים רק למכונות של Cloud SQL Enterprise Plus edition בארכיטקטורת הרשת החדשה. המכונה הראשית שמשויכת למאגר לקריאה בלבד חייבת להיות גם מכונה של מהדורת Cloud SQL Enterprise Plus.
  • אפשר להקצות עד 7 רפליקות לקריאה בלבד לכל מכונה ראשית. מידע נוסף מופיע בקטע מספר הצמתים המקסימלי.
  • תוכנית מתקדמת להתאוששות מאסון (DR) לא תואמת למאגרי קריאה. במכונות ראשיות אי אפשר להשתמש גם במאגרי קריאה וגם ברפליקות מדורגות.
  • התנועה מועברת מצומתי מאגר הקריאה בהתאם לתקינות מסד הנתונים, אבל בלי קשר למידת הפיגור בשכפול בצומת מאגר הקריאה. התנועה יכולה לעבור מצומת מאגר קריאה בפיגור, גם אם יש צומת מאגר קריאה אחר שלא נמצא בפיגור. מסד נתונים נחשב תקין אם תהליך מסד הנתונים פועל ויכול לענות על שאילתות, אבל אין דרישה לגבי מידת העדכניות של הנתונים שמוצגים.
  • אין הבטחה שסשן לוגי יחיד יתחבר לכמה צמתים במאגר הקריאה.
  • סוגי העדכונים הבאים לא נתמכים:
    • מאגרי הקריאה עדיין מקבלים עדכוני תחזוקה של Cloud SQL, אבל אי אפשר לעדכן את מאגר הקריאה או את המכונה הראשית שמשויכת אליו לגרסה ראשית חדשה של מסד הנתונים.
    • הפעלה או עצירה של צמתים במאגר הקריאה.
  • בנוסף לפעולות שלא נתמכות ברפליקות לקריאה, הפעולות הבאות לא נתמכות במאגרי קריאה:
  • אי אפשר להשתמש באישורי SSL/TLS עם רשות אישורים משותפת או עם רשות אישורים בניהול הלקוח במאגר לקריאה בלבד.
  • מאגר קריאה לא יכול לשכפל למכונה אחרת, למשל, רפליקה מדורגת או מאגר קריאה אחר.
  • מאגר קריאה חייב לשכפל ישירות ממכונה ראשית. היא לא יכולה להיות רפליקה מדורגת.
  • כשיוצרים או משנים את הגודל של מאגר קריאה, צריך להמתין עד לסיום הפעולות הקודמות של יצירת המאגר, הקטנת הגודל או הגדלת הגודל שמשויכות למאגר הקריאה. ההגבלה הזו חלה על כל מאגר קריאה אחר שמשויך לאותו מכונה ראשית. אם רוצים לשנות את הגודל של כמה מאגרי קריאה שמשויכים לאותו מכונה ראשית, צריך לחכות עד שפעולות שינוי הגודל שמשויכות למאגר הקריאה הראשון יסתיימו לפני שמתחילים לשנות את הגודל של מאגר הקריאה הבא. אם שולחים בקשות בו-זמנית, יכול להיות שתתקבל השגיאה הבאה: Operation failed because another operation was already in progress..
  • אפשר להמיר לשימוש במאגר קריאה רק רפליקה אזורית שנמצאת באותו אזור כמו הרפליקה הראשית.
  • בצמתים של מאגר קריאה יכולים להיות עיכובים שונים בשכפול, מה שעלול לגרום לקריאות לא עקביות. אם האפליקציה דורשת עקביות גבוהה בקריאה, מומלץ לשנות את קנה המידה של רפליקה אחת לקריאה בלבד במקום להשתמש במאגר קריאה.
  • ‫Cloud SQL מתקן באופן אוטומטי צמתים של מאגר קריאה בתנאים הבאים:
    • כשהמכונה מושבתת.
    • כשהרפליקציה לא פועלת.

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

  • ב-Microsoft אין תמיכה בשכפול אובייקטים בשרת.

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

    ההתנהגות הזו רלוונטית בתרחישים הבאים, אבל זו לא רשימה מלאה:

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

    דוגמאות לאובייקטים ברמת השרת שלא משוכפלים:

    • פרטי התחברות.
    • הגדרת שרת מקושר.
    • קובצי ביקורת של מסד נתונים שנוצרו על ידי SQL Server Audit.
    • סשנים של XEvents והגדרות אישיות שלהם.

    מידע נוסף זמין במאמרי העזרה של Microsoft.

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

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