מקור נתונים ב-Datastream יכול למלא נתונים היסטוריים, וגם להזרים שינויים שוטפים ליעד. במסגרת יצירת המקור, הגדרתם מידע על מסד הנתונים של המקור.
אם סימנתם את תיבת הסימון מילוי חוסרים בנתונים היסטוריים, Datastream יעביר בסטרימינג את כל הנתונים הקיימים, בנוסף לשינויים בנתונים, מהמקור ליעד.
אם לא מסמנים את תיבת הסימון הזו, Datastream ישדר רק את השינויים בנתונים. כדי ש-Datastream יעביר תמונת מצב של כל הנתונים הקיימים מהמקור ליעד, צריך להפעיל מילוי חוסרים לאובייקטים שמכילים את הנתונים האלה. האובייקטים הם סכימות של מסדי נתונים, טבלאות ועמודות.
סיבה נוספת להפעלת מילוי חוסרים באובייקט היא אם הנתונים לא מסונכרנים בין המקור ליעד. לדוגמה, משתמש יכול למחוק נתונים ביעד בטעות, והנתונים יאבדו. במקרה הזה, הפעלת מילוי חוסרים לאובייקט משמשת כ "מנגנון איפוס" כי כל הנתונים מועברים ליעד בבת אחת. כתוצאה מכך, הנתונים מסונכרנים בין המקור ליעד.
אחרי שמתחילים למלא חוסר באובייקט, אפשר להפסיק את מילוי החוסר באובייקט הזה. בדוגמה הקודמת, המשתמש משנה את סכימת מסד הנתונים, והסכימה או הנתונים נפגמים. אתם לא רוצים שהסכימה או הנתונים האלה יועברו בסטרימינג ליעד, ולכן אתם מפסיקים את המילוי החוזר של האובייקט.
אפשר גם להפסיק את מילוי החוסרים של אובייקטים לצורך איזון עומסים. מקור נתונים יכול להריץ כמה מילויים חוזרים במקביל. יכול להיות שזה יוסיף עומס על המקור. אם העומס משמעותי, מפסיקים את המילוי החוזר של האובייקטים ואז מתחילים מילוי חוזר של כל אחד מהם בנפרד.
סטטוסים של אובייקטים
הסטטוסים השונים במחזור החיים של הפעלה והפסקה של מילוי חוסרים באובייקט כוללים:
אין סטטוס (מוצג בממשק המשתמש כ-
-): הסיבות לכך שאובייקט מקבל את הסטטוס הזה כוללות:- השידור לא התחיל.
- תיבת הסימון Backfill historical data (מילוי חוסרים בנתונים היסטוריים) לא נבחרה (ולכן מילוי החוסרים מוגדר כמילוי ידני).
- האובייקט לא נכלל באופן מפורש במילוי החסר האוטומטי.
- השידור מוגדר כך שיכלול טבלאות עתידיות. אם זה קורה, כשמוסיפים טבלאות חדשות למקור, לא נוצר עבורן מילוי חוסרים אוטומטי (כי בדרך כלל בטבלאות חדשות אין נתונים היסטוריים למילוי חוסרים).
Pending: עדיין לא התחיל מילוי חוסרים של האובייקט.
Active: מתבצעת מילוי חוסרים לאובייקט.
Completed: מילוי החוסרים באובייקט הושלם.
Stopped: מילוי חוסרים נעצר עבור האובייקט. אם מפעילים שוב מילוי חוסרים לאובייקט, Datastream ישדר את כל הנתונים הקיימים שמשויכים לאובייקט ממקור הנתונים ליעד.
Failed: מילוי החוסרים של האובייקט נכשל, וצריך להפעיל אותו מחדש.
הפעלת מילוי חוסרים
נכנסים לדף Streams במסוף Google Cloud .
לוחצים על הזרם שמכיל את האובייקטים שרוצים להפעיל עבורם מילוי חוסרים.
לוחצים על הכרטיסייה OBJECTS (אובייקטים).
מסמנים את התיבה לצד כל אובייקט שרוצים להפעיל עבורו מילוי חוסרים.
לוחצים על הפעלת מילוי חוסרים.
אם בחרתם רק אובייקט אחד, לוחצים על INITIATE OBJECT BACKFILL בתיבת הדו-שיח. אחרת, אם בחרתם כמה אובייקטים, לוחצים על הפעלת מילוי חוסרים של אובייקטים.
תהליך האכלת נתונים היסטוריים יתחיל עבור האובייקטים שבחרתם, והסטטוס של כל אובייקט ישתנה מ-
Pendingל-Activeל-Completed. כשהסטטוס של אובייקט הואCompleted, המשמעות היא ש-Datastream קרא את כל הנתונים של האובייקט, אבל יכול להיות שהנתונים עדיין נטענים ליעד.
הפסקת מילוי החסר
נכנסים לדף Streams במסוף Google Cloud .
לוחצים על הזרם שמכיל את האובייקטים שרוצים להפסיק את המילוי החוזר שלהם.
לוחצים על הכרטיסייה OBJECTS (אובייקטים).
מסמנים את התיבה לצד כל אובייקט שרוצים להפסיק את המילוי החוזר שלו.
לוחצים על הפסקת מילוי חוסרים.
אם בחרתם רק אובייקט אחד, לוחצים על הפסקת מילוי חוסרים של אובייקט בתיבת הדו-שיח. אחרת, אם בחרתם כמה אובייקטים, לוחצים על הפסקת מילוי חוסרים של אובייקטים.
מערכת Datastream תפסיק את האכלת הנתונים ההיסטוריים של האובייקטים שבחרתם, והסטטוס של כל אובייקט ישתנה ל
Stopped.כשאובייקט מקבל את הסטטוס הזה, המילוי החוזר של האובייקט נפסק. אם מפעילים שוב מילוי חוסרים לאובייקט, Datastream ישדר את כל הנתונים הקיימים שמשויכים לאובייקט ממקור היעד אל היעד.
המאמרים הבאים
- מידע נוסף על סטרימינג זמין במאמר בנושא מחזור החיים של סטרימינג.
- במאמר איך רואים את המידע על השידור מוסבר איך רואים את המידע על השידור.
- במאמר שינוי של פיד מוסבר איך משנים פיד.
- מידע נוסף על מעקב אחרי שידור זמין במאמר מעקב אחרי שידור.
- איך משחזרים סטרימינג שנכשל