בדף הזה יש סקירה כללית על יעד BigQuery. המאמר מתאר את התנהגות הכתיבה ואת המגבלות הידועות של Datastream כשמשכפלים נתונים ל-BigQuery.
איך פועל הכתיבה
הגודל המקסימלי של אירוע כשמבצעים סטרימינג של נתונים ל-BigQuery הוא 20MB.
כשמגדירים את הזרם, אפשר לבחור את האופן שבו Datastream כותב את נתוני השינויים ל-BigQuery. מידע נוסף זמין במאמר בנושא הגדרת מצב כתיבה.
מטא-נתונים של טבלה
אפליקציית Datastream מוסיפה לכל טבלה שנכתבת ליעד ב-BigQuery עמודה STRUCT בשם datastream_metadata.
מצב כתיבה של מיזוג
אם לטבלה יש מפתח ראשי במקור, העמודה מכילה את השדות הבאים:
UUID: סוג הנתונים של השדה הזה הואSTRING.SOURCE_TIMESTAMP: סוג הנתונים של השדה הזה הואINTEGER.
אם לטבלה אין מפתח ראשי, העמודה מכילה שדה נוסף: IS_DELETED. השדה הזה הוא מסוג הנתונים BOOLEAN, והוא מציין אם הנתונים ש-Datastream מעביר ליעד משויכים לפעולה DELETE במקור. טבלאות ללא מפתחות ראשיים הן רק להוספה.
מצב כתיבה של הוספה בלבד
העמודה datastream_metadata מכילה את אותם שדות לטבלאות עם מפתחות ראשיים ולטבלאות בלי מפתחות ראשיים:
UUID: סוג הנתונים של השדה הזה הואSTRING.SOURCE_TIMESTAMP: סוג הנתונים של השדה הזה הואINTEGER.CHANGE_SEQUENCE_NUMBER: סוג הנתונים של השדה הזה הואSTRING. זהו מספר סידורי פנימי שמשמש את Datastream לכל אירוע שינוי.CHANGE_TYPE: סוג הנתונים של השדה הזה הואSTRING. הוא מציין את הסוג של אירוע השינוי:INSERT, UPDATE-INSERT, UPDATE-DELETEאוDELETE.-
SORT_KEYS: השדה הזה מכיל מערך של ערכיSTRING. אפשר להשתמש בערכים כדי למיין את אירועי השינוי.
ניהול העלויות ב-BigQuery
החיובים על BigQuery מתבצעים בנפרד מהחיובים על Datastream. כאן תוכלו לקרוא מידע נוסף על התמחור של BigQuery CDC.
שיטות מומלצות לניהול עלויות
כשמשתמשים ב-Datastream עם BigQuery כיעד, כדאי להביא בחשבון את השיטות המומלצות הבאות לניהול עלויות:
- הסבר על העלויות של CDC ב-BigQuery: כשמשתמשים ב-Datastream עם BigQuery כיעד, לכידת נתונים של שינויים (CDC) כוללת פעולות מיזוג ברקע. כברירת מחדל, עבודות הרקע של הטמעת CDC ב-BigQuery שמתבצעות ללא הקצאת הזמנה של
BACKGROUNDאוBACKGROUND_CHANGE_DATA_CAPTUREBigQuery משתמשות בתמחור לפי דרישה. - שימוש במקומות שמורים ב-BigQuery: כדי לנהל את העלויות שקשורות לעבודות מיזוג של CDC ולהגביל אותן, מומלץ לרכוש מקום שמור ב-BigQuery. כך אתם מקבלים קיבולת קבועה במחיר קבוע, והעלויות שלכם צפויות יותר. מידע נוסף זמין במאמר בנושא הגדרת הזמנה ב-BigQuery לשימוש עם הטמעה של CDC.
- התאמה של
max_staleness: הפרמטרmax_stalenessב-BigQuery הוא פשרה ישירה בין רענון הנתונים לבין העלות. ערך נמוך יותר מצביע על פעולות מיזוג תכופות יותר ועל עלויות גבוהות יותר, אבל על נתונים עדכניים יותר. כדאי לשנות את הפרמטר הזה לרמה שתעמוד בדרישות העסקיות שלכם לגבי עדכניות הנתונים, בלי לחרוג מהתקציב. מידע נוסף זמין במאמר בנושא ניהול נתונים ישנים בטבלה.
מגבלות ידועות
המגבלות הידועות לשימוש ב-BigQuery כיעד כוללות:
- כברירת מחדל, Datastream לא תומך בהוספת מפתח ראשי לטבלה שכבר משוכפלת ל-BigQuery ללא מפתח ראשי, או בהסרת מפתח ראשי מטבלה שמשוכפלת ל-BigQuery עם מפתח ראשי. אם אתם צריכים לבצע שינויים כאלה, פנו לתמיכה של Google. מידע על שינוי ההגדרה של המפתח הראשי בטבלת מקור שכבר יש לה מפתח ראשי מופיע במאמר אבחון בעיות.
מפתחות ראשיים ב-BigQuery צריכים להיות מסוגי הנתונים הבאים:
DATEBOOLGEOGRAPHYINT64NUMERICBIGNUMERICSTRINGTIMESTAMPDATETIME
טבלאות שמכילות מפתחות ראשיים מסוגי נתונים לא נתמכים לא משוכפלות על ידי Datastream.
BigQuery לא תומך בשמות של טבלאות עם התווים
.,$,/,@או+. כשיוצרים טבלאות יעד, Datastream מחליף את התווים האלה בקו תחתון.לדוגמה,
table.nameבמסד הנתונים של המקור הופך ל-table_nameב-BigQuery.מידע נוסף על שמות של טבלאות ב-BigQuery זמין במאמר שמות של טבלאות.
BigQuery לא תומך ביותר מארבע עמודות אשכול. כשמשכפלים טבלה עם יותר מארבע עמודות של מפתח ראשי, Datastream משתמש בארבע עמודות של מפתח ראשי כעמודות האשכול.
Datastream ממפה ליטרלים של תאריכים ושעות מחוץ לטווח, כמו סוגי תאריכים של אינסוף ב-PostgreSQL, לערכים הבאים:
- ערך חיובי
DATEעד9999-12-31 - הערך של
DATEשלילי, עד לערך של0001-01-01 - ערך חיובי
TIMESTAMPעד9999-12-31 23:59:59.999000 UTC - הערך של
TIMESTAMPשלילי, עד לערך של0001-01-01 00:00:00 UTC
- ערך חיובי
ב-BigQuery אין תמיכה בטבלאות סטרימינג עם מפתחות ראשיים מסוגי הנתונים
FLOATאוREAL. טבלאות כאלה לא משוכפלות. מידע נוסף על סוגי תאריכים וטווחים ב-BigQuery זמין במאמר בנושא סוגי נתונים.אם המקור שלכם הוא Salesforce או Salesforce Marketing Cloud (גרסת Preview), אפשרות ההגדרה Dataset for each schema לא נתמכת.