עיבוד של נתונים שהשתנו (CDC)
בדף הזה מוסבר איך להטמיע נתונים באמצעות CDC (לכידת נתונים משתנים) ב-Google Cloud Cortex Framework ב-BigQuery. BigQuery מיועד לאחסון ולניתוח יעילים של נתונים חדשים.
תהליך CDC
כשנתונים משתנים במערכת נתוני המקור (למשל SAP), BigQuery לא משנה רשומות קיימות. במקום זאת, המידע המעודכן מתווסף כרשומה חדשה. כדי למנוע כפילויות, צריך לבצע פעולת מיזוג לאחר מכן. התהליך הזה נקרא הטמעה של סימון נתונים שהשתנו (CDC).
ה-Data Foundation for SAP כולל את האפשרות ליצור סקריפטים ל-Managed Service for Apache Airflow או ל-Apache Airflow כדי למזג או upsert את הרשומות החדשות שנוצרות בעקבות עדכונים, ולשמור רק את הגרסה העדכנית ביותר במערך נתונים חדש. כדי שהסקריפטים האלה יפעלו, הטבלאות צריכות לכלול שדות ספציפיים:
-
operation_flag: הדגל הזה מציין לסקריפט אם רשומה הוכנסה, עודכנה או נמחקה. -
recordstamp: חותמת הזמן הזו עוזרת לזהות את הגרסה האחרונה של רשומה. הדגל הזה מציין אם הרשומה היא:- הוספה (I)
- עודכן (U)
- נמחק (D)
בעזרת עיבוד CDC, תוכלו לוודא שהנתונים ב-BigQuery משקפים בצורה מדויקת את המצב העדכני של מערכת המקור. כך לא יהיו רשומות כפולות ותוכלו להסתמך על הנתונים בניתוח.
מבנה מערך הנתונים
בכל מקורות הנתונים הנתמכים, הנתונים ממערכות במעלה הזרם משוכפלים קודם למערך נתונים ב-BigQuery (source או replicated dataset), והתוצאות המעודכנות או הממוזגות מוכנסות למערך נתונים אחר (מערך נתונים של CDC). תצוגות הדיווח בוחרות נתונים ממערך הנתונים של CDC, כדי לוודא שלכלי הדיווח ולאפליקציות תמיד תהיה הגרסה העדכנית של טבלה.
בתרשים הזרימה הבא מוצג העיבוד של CDC עבור SAP, שתלוי ב-operational_flag וב-recordstamp.

בתרשים הבא מוצג השילוב מממשקי API אל נתונים גולמיים ועיבוד CDC ב-Salesforce, בהתאם לשדות Id ו-SystemModStamp שנוצרים על ידי ממשקי Salesforce API.

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