שיטות מומלצות כלליות לשימוש ב-Datastream

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

שינוי מסד הנתונים של מקור הנתונים

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

  1. יוצרים פרופיל חיבור למכונה של הרפליקה.
  2. יוצרים מקור נתונים באמצעות פרופיל החיבור של העותק שנוצר ופרופיל החיבור הקיים של היעד.
  3. מתחילים את השידור כשהאפשרות 'מילוי היסטורי' מושבתת. כשהסטרימינג יתחיל, הוא יביא רק את הנתונים מהיומנים הבינאריים.
  4. זה שינוי אופציונלי. אחרי שהסטרימינג פועל, משנים אותו כדי להפעיל מילוי חוסרים אוטומטי.
  5. משהים את הסטרימינג שקורא מהמכונה הראשית.
  6. זה שינוי אופציונלי. מוחקים את הסטרימינג שהעביר נתונים מהמכונה הראשית.
  7. זה שינוי אופציונלי. מוחקים את פרופיל החיבור של המופע הראשי.

התראות ומעקב ב-Datastream

לוח הבקרה של Datastream מכיל הרבה מידע. המידע הזה יכול לעזור לכם לנפות באגים. מידע נוסף מופיע ביומנים שזמינים ב-Cloud Logging.

התראות של Datastream

אין התראה שמוגדרת כברירת מחדל ב-Datastream. לדוגמה, כדי ליצור מדיניות התראות למדד עדכניות הנתונים, לוחצים על הקישור Create alerting policy בכרטיסייה Overview. כדי להוסיף את שאר המדדים:

  1. נכנסים לדף  Alerting במסוף Google Cloud :

    נכנסים לדף Alerting.

  2. לוחצים על יצירת מדיניות.

  3. לוחצים על התפריט הנפתח בחירת מדד.

  4. בשדה הסינון, מזינים Datastream.

  5. אופציונלי: יכול להיות שתצטרכו להשבית את המסנן Active כדי לראות את כל המדדים הזמינים.

  6. בקטע Datastream Stream, מחפשים את המדד שרוצים לעקוב אחריו.

  7. לוחצים על אישור.

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

  9. מזינים את המידע הנדרש בקטע הגדרת טריגר להתראה. לוחצים על Next.

  10. מגדירים את ההתראות בקטע Configure notifications and finalize alert.

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

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

מומלץ ליצור התראות לגבי המדדים הבאים של Datastream:

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

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

הסבר על זמן האחזור

המדדים הבאים זמינים ב-Datastream ויעזרו לכם להבין את זמן ההשהיה של השכפול:

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

אם עדכניות הנתונים גבוהה, הסיבות הנפוצות לכך הן:

  • עומס יתר במקור: מסד הנתונים של המקור יוצר יומנים (קובצי binlog, קובצי יומן Redo, קובצי WAL) בקצב מהיר יותר מהקצב שבו Datastream יכול לקרוא אותם.
    • פעולה ל-MySQL או ל-Oracle: מגדילים את הפרמטר maxConcurrentCdcTasks כדי לקרוא יותר יומנים במקביל.
    • פעולה ב-PostgreSQL: מבודדים טבלאות עם שיעור נטישה גבוה לסטרימים ייעודיים משלהן.
    • פעולה ל-SQL Server: מגדילים את הפרמטר maxConcurrentCdcTasks כדי לקרוא יותר טבלאות שינוי במקביל.
  • מחסור במשאבי המקור: בשרת של מסד הנתונים של המקור יש בעיות כמו שימוש גבוה במעבד, זיכרון נמוך או צווארי בקבוק של קלט/פלט בדיסק.
    • הפעולה: מוודאים שמופע המקור תקין. בודקים את השימוש במעבד (CPU) או ב-RAM. ב-PostgreSQL, כדאי להגדיל את הערך של הפרמטר logical_decoding_work_mem. ב-Oracle, ודאו שהוקצה מספיק שטח גלובלי של המערכת (SGA).
  • בעיות בקיבולת הרשת: זמן פינג ארוך או רוחב פס רווי בין המקור לבין Google Cloud.
    • פעולה: מעקב אחרי רוחב הפס וזמן האחזור של ה-VPN או של Cloud Interconnect.
  • טרנזקציה אחת גדולה: משימה גדולה באצווה, כמו UPDATE במיליוני שורות, יכולה לגרום לעלייה זמנית בזמן האחזור.
    • פעולה: זה תקין. מחכים ש-Datastream יעבד את האירוע הגדול. בעתיד, כדאי לפצל משימות אצווה גדולות לחלקים קטנים יותר.

אם זמן האחזור של המערכת גבוה, יכול להיות שיש בעיה ב-Datastream או ביעד.

  • פעולה: בודקים ב-Cloud Logging אם יש שגיאות מתמשכות ברמת השורה (לדוגמה, invalid input for type json. אם הסטרים נמצא בלולאת ניסיון חוזר בגלל שגיאות בסוג הנתונים או באילוץ, יכול להיות שיהיה צורך לתקן את הנתונים באופן ידני במקור. אם אין שגיאות ברורות, פנו לתמיכה של Google כדי לקבל עזרה.

כמה טבלאות יכולות להיות בסטרימינג אחד?

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