ניהול מילוי חוסרים באובייקטים של סטרימינג

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

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

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

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

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

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

סטטוסים של אובייקטים

הסטטוסים השונים במחזור החיים של הפעלה והפסקה של מילוי חוסרים באובייקט כוללים:

  • אין סטטוס (מוצג בממשק המשתמש כ--): הסיבות לכך שאובייקט מקבל את הסטטוס הזה כוללות:

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

  • Active: מתבצעת מילוי חוסרים לאובייקט.

  • Completed: מילוי החוסרים באובייקט הושלם.

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

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

הפעלת מילוי חוסרים

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

    מעבר לדף העדכונים

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

  3. לוחצים על הכרטיסייה OBJECTS (אובייקטים).

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

  5. לוחצים על הפעלת מילוי חוסרים.

  6. אם בחרתם רק אובייקט אחד, לוחצים על INITIATE OBJECT BACKFILL בתיבת הדו-שיח. אחרת, אם בחרתם כמה אובייקטים, לוחצים על הפעלת מילוי חוסרים של אובייקטים.

    תהליך האכלת נתונים היסטוריים יתחיל עבור האובייקטים שבחרתם, והסטטוס של כל אובייקט ישתנה מ-Pending ל-Active ל-Completed. כשהסטטוס של אובייקט הוא Completed, המשמעות היא ש-Datastream קרא את כל הנתונים של האובייקט, אבל יכול להיות שהנתונים עדיין נטענים ליעד.

הפסקת מילוי החסר

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

    מעבר לדף העדכונים

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

  3. לוחצים על הכרטיסייה OBJECTS (אובייקטים).

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

  5. לוחצים על הפסקת מילוי חוסרים.

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

    מערכת Datastream תפסיק את האכלת הנתונים ההיסטוריים של האובייקטים שבחרתם, והסטטוס של כל אובייקט ישתנה לStopped.

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

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