כאן תוכלו למצוא תשובות לשאלות נפוצות לגבי Datastream וסימון נתונים שהשתנו (CDC). הנושאים כוללים תרחישים נפוצים לדוגמה, התנהגות של מקור ויעד, שילובים של Google Cloud , אבטחה, קישוריות, מעקב ותמחור.
שאלות כלליות על Datastream ועל סימון נתונים שהשתנו (CDC)
| שאלה | תשובה |
|---|---|
| מה זה Datastream? | Datastream הוא שירות ללא שרת (serverless) קל לשימוש לסימון נתונים שהשתנו (CDC) וליצירת רפליקות. באמצעות Datastream אפשר לשכפל בצורה חלקה נתונים ממקורות של מסדי נתונים רלציוניים כמו AlloyDB ל-PostgreSQL, PostgreSQL, MySQL, SQL Server ו-Oracle, וגם מ-Salesforce, מ-Salesforce Marketing Cloud (גרסת טרום-השקה (Preview)), מ-ServiceNow (גרסת טרום-השקה (Preview)) ומ-MongoDB, ישירות ל-BigQuery. Datastream מציע את קנה המידה, המהירות, האבטחה והפשטות שעסקים מודרניים צריכים. בעזרת ארכיטקטורה ללא שרת (serverless) עם התאמה לעומס (autoscaling), אפשר להגדיר ב-Datastream פייפליין של ELT (חילוץ, טעינה וטרנספורמציה) לשכפול נתונים עם זמן אחזור קצר, שמאפשר לקבל תובנות כמעט בזמן אמת. בנוסף, Datastream יכול לסנכרן זרמי נתונים בין מסדי נתונים ואפליקציות הטרוגניים בצורה אמינה ועם זמן אחזור מינימלי. אתם יכולים לשלב את השירות עם תבניות של Dataflow כדי לשכפל מסדי נתונים ל-Cloud SQL או ל-Spanner לצורך סנכרון של מסדי נתונים, או להשתמש בזרם האירועים ישירות מ-Cloud Storage כדי ליצור ארכיטקטורות מבוססות-אירועים. |
| באילו שיטות Datastream מעביר נתונים? | ב-Datastream, הנתונים מועברים ממקור ליעד באחת משתי שיטות:
|
| מה זה CDC? |
CDC היא גישה לשילוב נתונים שמאפשרת לשלב ולנתח נתונים מהר יותר, תוך שימוש בפחות משאבי מערכת. זו שיטה לשליפת השינויים האחרונים בלבד (עדכונים, הוספות או מחיקות) ממקור נתונים, בדרך כלל על ידי קריאת יומן השינויים שהמקור שומר לצורך תקינות העסקאות הפנימיות שלו. CDC הוא מנגנון יעיל מאוד להגבלת ההשפעה על המקור בזמן טעינת נתונים חדשים למאגרי נתונים תפעוליים ולמחסני נתונים. הוא מייתר את הצורך בעדכון של טעינה בכמות גדולה ובחלונות אצווה לא נוחים, על ידי הפעלת טעינה מצטברת או סטרימינג של שינויי נתונים כמעט בזמן אמת ליעד נתונים. אפשר להשתמש ב-CDC בהרבה תרחישים לדוגמה שבהם יש ערך לגישה קבועה לשינויים בנתונים בזמן שהם מתרחשים, כמו ניתוח נתונים, סנכרון נתונים בין מערכות שפרוסות גיאוגרפית וארכיטקטורות מבוססות-אירועים. |
| מה זה מילוי חוסרים? | בנוסף לשינויים השוטפים, Datastream משתמש גם במילוי חוסרים כדי לשלוף את כל הנתונים הקיימים ממקור, ואז להעביר את הנתונים בסטרימינג ליעד. כתוצאה מכך, היעד "מתמלא" בכל הנתונים ההיסטוריים מהמקור. יש שני סוגים של מילוי חוסרים:
|
| האם יש מגבלות שצריך להביא בחשבון כשמבצעים מילוי חוסרים? |
למידע על אילוצים במילוי חוסרים, אפשר לעיין בדפים של המגבלות הידועות של סוגי המקורות הרלוונטיים:
|
| מהו הסדר המומלץ לפעולות CDC ומילוי חוסרים (backfill)? | ברוב המקרים, אין כאן שיקול מיוחד. כשמפעילים מילוי חוסרים בסטרימינג, Datastream מבצע גם מילוי חוסרים וגם CDC בו-זמנית. במקרים חריגים מסוימים, למשל כשמשכפלים טבלאות גדולות מאוד שאי אפשר למלא באמצעות Datastream, יכול להיות שתצטרכו לטעון את הנתונים ל-BigQuery לפני שתתחילו את הסטרימינג. |
| אפשר לעקוב אחרי הסטטוס של פעולות CDC ומילוי חוסרים? | אפשר לעקוב אחרי סטטוס המילוי החוזר של כל אובייקט:
סטטוס ה-CDC הוא למעשה סטטוס הסטרימינג. אם פעולת ה-CDC נכשלת, כל הסטרימינג נכשל. מדדים נוספים ברמת האובייקט זמינים ב-Cloud Monitoring. מידע נוסף זמין במאמרי העזרה של Cloud Monitoring. |
| מה ההבדל בין סנכרון שינויים בזרמי נתונים לבין רפליקציה? | סנכרון שינויים בזרמי נתונים הוא רצף של אירועים ש-Datastream פולט ליעד למטרות צריכה במורד הזרם. התוצאה של כתיבת סנכרון שינויים בזרמי נתונים ל-Cloud Storage היא קבוצה של קבצים שמכילים אירועים של יומן שינויים מטבלה ספציפית לאורך תקופה מסוימת. האירועים מייצגים הוספות, עדכונים ומחיקות בטבלה הזו, ואפשר לצרוך ולעבד את האירועים במורד הזרם של Cloud Storage באמצעות שירותים כמו Dataflow לתרחישים לדוגמה כמו ארכיטקטורות מבוססות-אירועים. רפליקציה בהקשר של Datastream היא ייצוג עדכני ביחס של 1:1 של טבלת המקור ביעד. לדוגמה, טבלה ב-Oracle שהשינויים בה משוכפלים באופן רציף לטבלה ב-BigQuery, והטבלה ב-BigQuery מתעדכנת באמצעות השינויים שמועברים בסטרימינג מהטבלה ב-Oracle. הרפליקציה משתמשת בסנכרון שינויים בזרמי נתונים על ידי צריכה של כל אירוע שינוי ושימוש בו כדי לעדכן את היעד. בעזרת Datastream אפשר לשכפל ישירות ל-BigQuery, וגם ליעדים נוספים כמו Cloud SQL ו-Spanner באמצעות שילוב עם Dataflow. לשם כך, משתמשים בתבניות ששולפות את האירועים של סנכרון השינויים בזרמי נתונים מ-Cloud Storage ומעדכנות את טבלאות היעד בהתאם. |
| האם Datastream דורש סוכן במקור? | לא צריך להתקין סוכן במקור. Datastream משתמש בממשקים קיימים (כמו Oracle LogMiner) כדי להוציא את הנתונים מהמקור. |
| כמה טבלאות אפשר לכלול בסטרימינג אחד? | Datastream יכול לטפל בעד 10,000 טבלאות בסטרים אחד. אין סיבה טכנית לפצל מסד נתונים לכמה מקורות, אבל יכול להיות שיהיו שיקולים עסקיים להשתמש במקורות שונים לתהליכים לוגיים שונים, למשל כשמשכפלים עסקאות גדולות ממקורות PostgreSQL. עם זאת, כל מקור נתונים מוסיף עומס על מסד הנתונים של המקור. עומס כזה הוא זניח ל-CDC, אבל יכול להיות משמעותי למילוי חוסרים. |
| איך השימוש ב-Datastream משפיע על הביצועים של מסד נתונים בסביבת ייצור? |
CDC הוא מנגנון יעיל מאוד להגבלת ההשפעה על המקור כשנתונים חדשים נטענים למאגרי נתונים ולמחסני נתונים ביעד. בנוסף, ב-CDC אין צורך בעדכון של טעינה בכמות גדולה ובחלונות אצווה לא נוחים, כי אפשר לטעון שינויים בנתונים באופן מצטבר או להעביר אותם בסטרימינג כמעט בזמן אמת ליעד. בנוסף, Datastream מצמצם את ההשפעה של מילוי חוסרים ראשוני על ידי הגבלת מספר המשימות של מילוי חוסרים שמתבצעות בו-זמנית, ומאפשר לכם להחליט אילו אובייקטים למלא ומתי. |
| אפשר להעתיק את קובצי היומן מהמקור אל Google Cloud? | לא. Datastream שולח שאילתות ליומנים ישירות בשרת מסד הנתונים, ורק שינויים בטבלאות שצוינו נכתבים ביעד. |
| האם Datastream יכול להעביר גם נתונים היסטוריים? | כן. כברירת מחדל, Datastream מקבל את כל הנתונים ההיסטוריים מטבלאות מסד הנתונים של המקור שציינתם, במקביל ל-CDC stream. Datastream מאפשר לכם לקבל נתונים היסטוריים מחלק מהטבלאות במסד הנתונים במקור או מכולן. בנוסף, כשמגדירים את מקור הנתונים, אפשר להשבית את מילוי הנתונים ההיסטוריים. |
| האם Datastream מבטיח מסירה פעם אחת בדיוק? | לא. Datastream הוא שירות מסירה של לפחות פעם אחת. אפשר להשתמש במטא-נתונים הנוספים ש-Datastream כותב לכל אירוע כדי להסיר נתונים כפולים. |
| האם Datastream יכול לטפל במסדי נתונים מוצפנים? | כן. |
| האם Datastream יכול להעביר בסטרימינג טבלאות ועמודות ספציפיות ממקור? | כן. ב-Datastream אפשר לציין רשימות של הכללה ורשימות החרגות לטבלאות ולסכימות, כדי להעביר בסטרימינג רק את הנתונים שרוצים ממקור ליעד. בטבלאות שכלולות, אתם יכולים להחריג עמודות ספציפיות כדי לחדד בדיוק אילו נתונים אתם רוצים להעביר ליעד. עם זאת, אי אפשר לשכפל תצוגות מהותיות. |
| איך מעבירים שידור לפרויקט או לאזור אחר? |
|
| איך Datastream מטפל בטרנזקציות שלא בוצעו בקובצי היומן של מסד הנתונים? | כשקובצי היומן של מסד הנתונים מכילים טרנזקציות שלא בוצעו, אם טרנזקציות כלשהן מבוטלות, מסד הנתונים משקף זאת בקובצי היומן כפעולות "הפוכות" של שפת טיפול בנתונים (DML). לדוגמה, לפעולת INSERT שבוטלה תהיה פעולת DELETE תואמת. Datastream קורא את הפעולות האלה מקובצי היומן. |
| מהי הזמינות האזורית של Datastream? | כדי להציג רשימה של האזורים שבהם Datastream זמין, ראה רשימות היתרים של IP ואזורים. |
התנהגות כללית ומגבלות של מקורות
| שאלה | תשובה |
|---|---|
| באילו מקורות Datastream תומך? | Datastream תומך בסטרימינג של נתונים ממקורות Oracle, MySQL, PostgreSQL, AlloyDB ל-PostgreSQL, SQL Server, Salesforce, Salesforce Marketing Cloud (גרסת טרום-השקה (Preview)), ServiceNow (גרסת טרום-השקה (Preview)) ו-MongoDB, גם כאלה שמתארחים בענן וגם כאלה שמנוהלים באופן עצמאי. למידע על גרסאות ספציפיות למקור, אפשר לעיין בדפים הבאים:
|
| האם Datastream יכול לטפל במסדי נתונים מוצפנים? | כן. |
| איך Datastream מחלץ נתונים מהמקורות? | ב-MySQL, Datastream מעבד את היומן הבינארי של MySQL כדי לחלץ אירועי שינויים. ב-Oracle, Datastream משתמש ב-LogMiner ובהגדרות רישום משלימות כדי לחלץ נתונים מיומני ה-Redo של Oracle. ב-PostgreSQL וב-AlloyDB ל-PostgreSQL, Datastream מסתמך על התכונה פענוח לוגי של PostgreSQL. פענוח לוגי חושף את כל השינויים שבוצעו במסד הנתונים ומאפשר לצרוך ולעבד את השינויים האלה. ב-SQL Server, Datastream עוקב אחרי שינויים בשפת הטיפול בנתונים (DML) באמצעות יומני טרנזקציות. |
| אפשר להעתיק קובצי יומן ישירות ממקור אל Google Cloud? | Datastream לא מעתיק את כל קובצי היומן, אלא שולח שאילתות לקובצי היומן ישירות משרת מסד הנתונים, ומשכפל רק את השינויים מהטבלאות שצוינו ליעד. |
| מהן המגבלות על הנתונים ש-Datastream יכול לעבד? |
יש מגבלות כלליות ומגבלות שחלות על מקורות ספציפיים של מסדי נתונים. המגבלות הכלליות כוללות:
בדפים הבאים מפורטות המגבלות הספציפיות לכל מקור:
|
| אילו נתונים נכללים בכל אירוע שנוצר על ידי Datastream? | כל אירוע שנוצר (להוספות, לעדכונים ולמחיקות) כולל את כל שורת הנתונים מהמקור, עם סוג הנתונים והערך של כל עמודה. כל אירוע כולל גם מטא-נתונים של אירוע שאפשר להשתמש בהם כדי לקבוע את הסדר ולהבטיח שהמסירה תתבצע פעם אחת בדיוק. |
| האם Datastream מבטיח סדר? | למרות ש-Datastream לא מבטיח סדר, הוא מספק מטא-נתונים נוספים לכל אירוע. אפשר להשתמש במטא-נתונים האלה כדי להבטיח מודל עקביות הדרגתי ביעד. בהתאם למקור, לקצב ולתדירות של השינויים ולפרמטרים אחרים, בדרך כלל אפשר להשיג מודל עקביות הדרגתי בסופו של דבר בתוך חלון של שעה. |
| האם Datastream מבטיח מסירה פעם אחת בדיוק? | Datastream הוא שירות מסירה של לפחות פעם אחת. כדי למנוע כפילויות בנתונים, אפשר להשתמש במטא-נתונים נוספים ש-Datastream כותב לכל אירוע. |
| איך Datastream מייצג סוגי נתונים מהמקור לשימוש בעיבוד במורד הזרם? | כשכותבים ליעד ללא סכימה, כמו Cloud Storage, Datastream מפשט את עיבוד הנתונים במורד הזרם במקורות שונים על ידי נרמול של סוגי הנתונים בכל המקורות. שירות Datastream מקבל את סוג הנתונים המקורי (לדוגמה, סוג סוגים מאוחדים מייצגים קבוצת-על ללא אובדן נתונים של כל סוגי המקורות האפשריים, ונורמליזציה פירושה שניתן לעבד נתונים ממקורות שונים במינימום מאמץ ולבצע שאילתות בהמשך באופן שאינו תלוי במקור. |
| איך Datastream מטפל בשינויים במבנה (סכימה) במקור? | Datastream מאחזר את הסכימה מהמקור מדי פעם. הסכימות מאוחסנות במאגר הסכימות הפנימי של Datastream, וכל אירוע מפנה לסכימה בזמן שבו היא נוצרה. כך Datastream יכול לעקוב אחרי שינויים בסכימה ולבצע התאמות על סמך השינויים האלה, כדי לוודא שכל הנתונים מועברים בסטרימינג ונטענים ליעד בצורה תקינה. עם זאת, בין אחזורי הסכימה, יכול להיות שחלק מהשינויים בסכימה לא יזוהו, וזה עלול לגרום לאי-התאמות בנתונים. |
| מחקתי (הסרתי) עמודה במסד הנתונים של המקור, אבל היא עדיין מופיעה ביעד. למה? | Datastream לא מוחק עמודות ביעד. צריך למחוק עמודות באופן ידני. ההתנהגות הזו מכוונת, כי במקרים מסוימים, יכול להיות שתעדיפו להשאיר את העמודה שנמחקה ביעד. לדוגמה, Datastream מפרש שינוי שם של עמודה במקור כמחיקה של עמודה והוספה של עמודה אחרת. במקרה כזה, לא כדאי לאבד את העמודה המקורית ביעד. |
| השידור לא מתחיל בגלל כשל באימות, אבל לדעתי זו שגיאה או שאני רוצה לנסות להפעיל את השידור בכל מקרה. איך אפשר לעבור את האימות הזה? | אתם יכולים להתחיל את השידור באמצעות ה-API על ידי הוספת הדגל force=true ודילוג על בדיקות האימות. חשוב לזכור שדילוג על האימותים לא מבטיח שהסטרימינג יפעל, ויכול להיות שהוא עדיין ייכשל אם חסרים במסד הנתונים ההגדרות או ההרשאות הנדרשות.
|
| אפשר להפעיל מחדש שידור שנכשל? | כדי לתקן סטרימינג בסטטוס אפשר גם לשחזר שידור בסטטוס |
| האם Datastream נועל טבלאות של מסדי נתונים? | לא. Datastream לא צריך לנעול את הטבלאות. |
| בדפי המגבלות של כל מקור מצוין שכל מקור נתונים יכול להכיל עד 10,000 טבלאות. האם זה אומר ש-Datastream לא יכול להריץ פעולות CDC במקביל ליותר מ-10,000 טבלאות בו-זמנית? | לא. המגבלה שצוינה היא לכל שידור. יכולים להיות לכם כמה מקורות נתונים עם יותר מ-10,000 טבלאות בסך הכול. |
התנהגות ומגבלות של מקור MySQL
| שאלה | תשובה |
|---|---|
| איך Datastream מוציא נתונים מ-MySQL? | כדי לחלץ את אירועי השינויים מ-MySQL, Datastream משתמש ביומן הבינארי של MySQL. |
| האם Datastream תומך במכונות של רפליקות לקריאה בלבד של Cloud SQL ל-MySQL? | כן, Datastream תומך במכונות של רפליקות לקריאה בלבד ב-Cloud SQL ל-MySQL בגרסאות 5.7 ו-8.0. אפשר להפעיל רישום ביומן בינארי במכונות האלה. כדי לעשות את זה, מריצים את הפקודה הבאה ב-CLI של gcloud: gcloud sql instances patch INSTANCE_NAME -- enable-bin-log מידע נוסף זמין במאמר רישום ביומן בינארי ברפליקות לקריאה בלבד. |
| מהן ההרשאות המינימליות שנדרשות ל-Datastream כדי לשכפל נתונים ממסד נתונים של MySQL? | כדי לשכפל נתונים ממסד נתונים של MySQL, צריך לתת למשתמש Datastream את ההרשאות הבאות:
|
| האם Datastream תומך בדחיסת יומן בינארי? | לא, Datastream לא תומך בדחיסת אירועי טרנזקציות באמצעות דחיסת טרנזקציות של יומן בינארי. כדי להשתמש בפונקציונליות של סימון נתונים שהשתנו (CDC) ב-MySQL ב-Datastream, צריך להשבית את דחיסת הטרנזקציות ביומן הבינארי. |
בארגון שלך אין הרשאה לתת את ההרשאה SELECT בכל הטבלאות ומסדי הנתונים שלו. האם עדיין אפשר להשתמש ב-Datastream? |
אתם יכולים להעניק את ההרשאה GRANT SELECT ON DATABASE_NAME.TABLE_NAME TO USER_NAME@'%'; GRANT SELECT ON DATABASE_NAME.* TO USER_NAME@'%'; מחליפים את מה שכתוב בשדות הבאים:
אם רוצים להגביל את ההרשאות לשם מארח מסוים, מחליפים את התו |
התנהגות ומגבלות של מקור Oracle
| שאלה | תשובה |
|---|---|
| איך Datastream מוציא נתונים מ-Oracle? | Datastream משתמש ב-Oracle LogMiner כדי לחלץ את הנתונים מיומני ה-redo של Oracle. |
| האם Datastream דורש רישיון GoldenGate מ-Oracle? | לא. Datastream לא דורש רישיון GoldenGate כי הוא משתמש ב-Oracle LogMiner כדי לקרוא את הנתונים מיומני ה-Redo של מסד הנתונים. |
| מה קורה כשאין יותר תמיכה ב-Oracle LogMiner? | Oracle LogMiner עדיין נתמך בכל הגרסאות של Oracle שזמינות לכלל המשתמשים, ו-Datastream ימשיך לתמוך ב-LogMiner בכל הגרסאות העתידיות. חברת Oracle הפסיקה את התמיכה באפשרות CONTINUOUS_MINE של LogMiner, אבל Datastream לא משתמש באפשרות הזו, ולכן להוצאה משימוש אין השפעה על Datastream. |
| האם Datastream תומך בהצפנה של נתונים במעבר ממסדי נתונים של Oracle? | Datastream תומך בהצפנת נתונים במעבר על סמך Oracle Net Services. Datastream פועל במצב |
| האם Datastream תומך בהצפנה של שכבת שקעים מאובטחת (SSL) ושל Transport Layer Security (TLS)? | כן, Datastream תומך בפרוטוקול TCPS לחיבורים מוצפנים ב-SSL או ב-TLS למקורות Oracle. |
| האם Datastream תומך בארכיטקטורה של Oracle עם כמה דיירים, ובאופן ספציפי במסדי נתונים של קונטיינרים (CDB) ובמסדי נתונים ניתנים לחיבור (PDB)? | כן, Datastream תומך בארכיטקטורת ריבוי דיירים של Oracle (CDB/PDB), אבל אפשר לשכפל רק מסד נתונים אחד שניתן לחיבור בסטרימינג. |
הארגון שלך לא מאפשר להעניק את ההרשאה GRANT SELECT ANY TABLE. האם עדיין אפשר להשתמש ב-Datastream? |
אם אתם לא יכולים להעניק את ההרשאה
כדי להעביר שינויים בסטרימינג באמצעות Datastream, אתם צריכים גם גישת קריאה לכל הטבלאות שנכללות בסטרימינג. כדי להתחיל את השידור, צריך לעקוף את האימות באמצעות ה-API. מידע נוסף זמין במאמר התחלת שידור. |
| האם Datastream תומך בשכפול ממכונות של רפליקות לקריאה בלבד ב-Oracle? | Datastream תומך בשכפול ממכונות של עותק לקריאה בלבד של Oracle, כל עוד המכונה מוגדרת בהתאם להנחיות להגדרה. |
| האם Datastream תומך במסדי נתונים של Oracle SCAN RAC? | כן, זה אפשרי. עם זאת, אי אפשר ליצור קישוריות ישירה למסדי נתונים באמצעות התכונה Single Client Access Name (SCAN) בסביבות Oracle Real Application Clusters (RAC) באמצעות Datastream. כדי להתגבר על המגבלה הזו, צריך להתחבר ישירות לאחד מהצמתים או להשתמש ב-Oracle Connection Manager. אפשר גם ליצור הגדרת חיבור מבודד באמצעות פתרונות של שרת proxy הפוך כמו HAProxy. |
התנהגות ומגבלות של מקור PostgreSQL
| שאלה | תשובה |
|---|---|
| איך Datastream מוציא נתונים מ-PostgreSQL? | Datastream משתמש בתכונה logical decoding של PostgreSQL כדי לחלץ את אירועי השינוי מ-PostgreSQL. |
| האם Datastream תומך בשכפול ממקורות AlloyDB ל-PostgreSQL או AlloyDB Omni? | כן. Datastream תומך בשני המקורות האלה. למידע על הגדרת מסד הנתונים של AlloyDB ל-PostgreSQL כמקור, ראו הגדרת מסד נתונים של AlloyDB ל-PostgreSQL. מידע נוסף על הגדרת מסד הנתונים של AlloyDB Omni כמקור זמין במאמר הגדרת מסד נתונים של PostgreSQL בניהול עצמי. |
| האם Datastream תומך בשכפול ממכונה של רפליקה לקריאה בלבד של PostgreSQL? | כן, Datastream תומך בשכפול ממכונות של רפליקות לקריאה בלבד של PostgreSQL, מגרסה 16 ואילך. מידע נוסף על הגדרת רפליקות לקריאה בלבד זמין במאמר רפליקציה מרפליקות לקריאה בלבד. |
| האם Datastream תומך באבטחה ברמת השורה (RLS)? | Datastream לא תומך בשכפול של טבלאות שמופעלת בהן RLS. עם זאת, אפשר לעקוף את המגבלה הזו באמצעות הסעיף BYPASSRLS:
ALTER USER USER_NAME BYPASSRLS; מחליפים את USER_NAME בשם המשתמש שבאמצעותו Datastream מתחבר למסד הנתונים, ושעבורו רוצים לעקוף את כללי מדיניות ה-RLS. |
| האם Datastream תומך בפעולות CDC בו-זמניות כשמשכפלים ממקור PostgreSQL? | לא. הרפליקציה של PostgreSQL מסתמכת על הקונספט של משבצות רפליקציה, ומשבצות רפליקציה לא תומכות בחיבורים בו-זמניים. בכל פעם, רק משימת CDC אחת יכולה לקרוא ממשבצת הרפליקציה. לדוגמה, אם מוחקים מספר גדול של רשומות ממסד הנתונים של המקור, יכול להיות שמשבצת הרפליקציה תהיה עמוסה באירועי מחיקה. כל שינוי נוסף במקור מתעכב עד שהמערכת מעבדת את אירועי המחיקה שכבר נמצאים בתור של משבצת הרפליקציה. בקטע אבחון בעיות מוסבר איך מומלץ לשכפל נתוני טרנזקציות גדולים. |
| האם Datastream תומך בהצפנה של שכבת שקעים מאובטחת (SSL) ושל Transport Layer Security (TLS)? | כן, Datastream תומך בחיבורים מוצפנים ב-SSL/TLS. |
התנהגות ומגבלות של מקור SQL Server
| שאלה | תשובה |
|---|---|
| באילו גרסאות של SQL Server יש תמיכה ב-Datastream? | Datastream תומך בגרסאות של מסדי נתונים ב-SQL Server שתומכות בסימון נתונים שהשתנו (CDC). כאן מופיעה רשימה מלאה של הגרסאות והמהדורות הנתמכות של SQL Server. |
| איך פועלת הרפליקציה של Datastream CDC במקורות של SQL Server? | תהליך הטמעת הנתונים ב-Datastream משתמש ביומני טרנזקציות או בטבלאות שינויים, בהתאם להגדרות המקור. מידע נוסף זמין במאמר מסד נתונים של SQL Server במקור. |
| מהן ההרשאות המינימליות שנדרשות ל-Datastream כדי לשכפל נתונים ממסד נתונים של SQL Server? | כדי לשכפל נתונים ממסד נתונים של SQL Server, צריך להקצות למשתמש Datastream את התפקידים וההרשאות הבאים: בשיטת CDC של טבלאות שינויים:
בנוסף, בשיטת CDC של יומני טרנזקציות:
מידע מפורט על הגדרת המקור זמין בדפי ההגדרות המתאימים לסוג מסד הנתונים שלכם. |
| למה צריך להגדיר הגדרות כמו שינוי מרווחי הסקרים והגדרת אמצעי הגנה מפני קיטוע כשמשתמשים ביומני עסקאות? | כשמשכפלים נתונים ממקור SQL Server באמצעות יומני טרנזקציות, אם יומן נקטע לפני ש-Datastream קורא אותו, נתונים יאבדו. שינוי מרווחי הזמן של הסקרים והגדרת אמצעי הגנה מפני חיתוך הם אופציונליים, אבל הם מספקים שכבת הגנה נוספת כדי להבטיח ש-Datastream יוכל לקרוא את הנתונים גם בתרחישים שבהם יש זמן השבתה או בעיות בקישוריות. מידע נוסף זמין במאמר הגדרת מסד נתונים של SQL Server כמקור. |
| איזו שיטת CDC צריך לבחור כשמשכפלים ממקור SQL Server? | אתם יכולים לבחור אחת משתי שיטות ה-CDC הזמינות, בהתאם להגדרות של מסד הנתונים של SQL Server במקור:
מידע נוסף זמין במאמר סקירה כללית על SQL Server כמקור. |
התנהגות ומגבלות של מקור Salesforce
| שאלה | תשובה |
|---|---|
| מה זה ארגון ב-Salesforce? | ארגון ב-Salesforce, שנקרא גם org, הוא פריסה ייעודית של Salesforce, בדומה למכונה של מסד נתונים. בארגון יש קבוצה מוגדרת של משתמשים בעלי רישיון, והוא מאחסן את כל נתוני הלקוחות והאפליקציות. |
| מהם אובייקטים, רשומות ושדות ב-Salesforce? | אובייקט הוא ישות של מחלקה, והוא דומה לטבלה במינוח של מסדי נתונים רלציוניים. הם יכולים להיות סטנדרטיים או בהתאמה אישית. אובייקטים רגילים נכללים ב-Salesforce כברירת מחדל, ואובייקטים בהתאמה אישית נוצרים על ידי המשתמשים כדי לאחסן נתונים שספציפיים לתרחיש לדוגמה שלהם. רשומה היא מופע ספציפי של אובייקט, בדומה לשורה במסדי נתונים רלציוניים. שדה הוא מאפיין ספציפי של אובייקט, בדומה לעמודה במסדי נתונים רלציוניים. |
| האם Datastream תומך בשדות מחושבים של Salesforce? | Datastream תומך באופן חלקי בשדות מחושבים (שדות נוסחה) של Salesforce. שכפול השדות האלה כפוף למגבלות מסוימות. מידע נוסף מופיע בקטע מגבלות ידועות. |
התנהגות ומגבלות של מקור Salesforce Marketing Cloud
| שאלה | תשובה |
|---|---|
| מה זה Salesforce Marketing Cloud? | Salesforce Marketing Cloud היא פלטפורמה ליצירת מסלולים מותאמים אישית להמרת לקוחות בערוצים שונים, כמו אימייל, נייד ורשתות חברתיות. זה מוצר נפרד לחלוטין מהפלטפורמה הרגילה של Salesforce. |
| איך Datastream משכפל נתונים מ-Salesforce Marketing Cloud? | Datastream משתמש בממשקי ה-API של Salesforce Marketing Cloud כדי לשלוף נתונים על סמך מרווחי זמן מוגדרים של דגימה. הוא תומך בסנכרון מצטבר של רוב האובייקטים וברענון מלא תקופתי של אובייקטים כמו תוספי נתונים. |
התנהגות היעד ב-BigQuery
| שאלה | תשובה |
|---|---|
| איך Datastream ו-BigQuery פועלים ביחד כדי לשכפל שינויים ממסד הנתונים של המקור? | Datastream קורא באופן רציף את סנכרון שינויים בזרמי נתונים ממסד הנתונים של המקור, ומעביר את אירועי העדכון או ההוספה (upsert) והמחיקה לטבלאות היעד ב-BigQuery באמצעות Storage Write API. לאחר מכן, המערכת של BigQuery מחילה את השינויים על הטבלה בהתאם להגדרת ההתיישנות של הטבלה. |
| איך מפעילים פעולות של שפת טיפול בנתונים (DML) ב-BigQuery? |
|
| איך Datastream ו-BigQuery מטפלים בסדר האירועים? | BigQuery משתמש במטא-נתונים של האירוע ובמספר סידורי פנימי של שינוי (CSN) כדי להחיל את האירועים על הטבלה בסדר הנכון. מידע נוסף על מטא-נתונים של אירועים זמין במאמר אירועים ושידורים. |
| איך מחושבות העלויות של BigQuery כשמשתמשים בו עם Datastream? | העלויות של BigQuery מחושבות ומחויבות בנפרד מ-Datastream. כדי ללמוד איך לשלוט בעלויות של BigQuery, ראו תמחור BigQuery CDC. |
| מהו גודל השורה המקסימלי שנתמך ב-Datastream כשמעבירים נתונים בסטרימינג ל-BigQuery? | גודל השורה המקסימלי שנתמך ב-Datastream הוא 20MB. |
כשמעבירים נתונים בסטרימינג ל-BigQuery, הטבלאות מתחילות ב-. האם אפשר לשנות את ההתנהגות הזו כדי שהטבלאות ב-BigQuery יהיו באותו מבנה כמו במסד הנתונים של המקור? |
כשמגדירים מערכי נתונים ליעד ב-BigQuery, יוצרים מערך נתונים לכל סכימה או מערך נתונים אחד לכל הסכימות. כשיוצרים מערך נתונים לכל סכימה, כל סכימה במקור ממופה למערך נתונים ב-BigQuery, וכל הטבלאות בסכימת המקור ממופות לטבלאות במערך הנתונים. כשבוחרים באפשרות של מערך נתונים אחד לכל הסכימות, שמות הטבלאות מתחילים ב-, בהתאם למוסכמה למתן שמות לטבלאות ב-BigQuery. |
| האם CDC יכול לתעד שינויים בסכימת המקור, למשל כשמוסיפים או מוחקים עמודה במקור? האם השינויים האלה משתקפים באופן אוטומטי בטבלאות שכבר מאוכלסות במערכי הנתונים של היעד ב-BigQuery? | Datastream מזהה עמודות חדשות באופן אוטומטי ומוסיף אותן לסכימת היעד של השורות החדשות, אבל לא לאלה שכבר שוכפלו ליעד. המערכת מתעלמת מעמודות שנמחקו, ו-Datastream מאכלס אותן בערכי NULL ביעד. אחר כך אתם יכולים למחוק את העמודות האלה באופן ידני ב-BigQuery. |
התנהגות היעד ב-Cloud Storage
| שאלה | תשובה |
|---|---|
| איך נוצרים קבצים ב-Cloud Storage? | Datastream יוצר תיקייה לכל טבלה. בכל תיקייה, Datastream מחליף את הקובץ (או יוצר קובץ חדש) בכל פעם שהוא מגיע לסף הגודל או הזמן שהמשתמש הגדיר. בנוסף, Datastream מחליף את הקובץ בכל פעם שהוא מזהה שינוי בסכימה. שם הקובץ יורכב ממפתח סכימה ייחודי (על סמך גיבוב של הסכימה), ואחריו חותמת הזמן של האירוע הראשון בקובץ. מטעמי אבטחה, שמות הקבצים האלה לא נועדו לקריאה או להבנה על ידי אנשים. |
| אם הנתונים ב-Cloud Storage לא מסודרים, איך אפשר לסדר מחדש את האירועים לפני שטוענים אותם ליעד? | כל אירוע מכיל כמה שדות של מטא-נתונים שמזהים באופן ייחודי את השורה בקובצי היומן, ומאפשרים לכם למיין את האירועים. השדות האלה כוללים: במקורות של Oracle:
במקורות MySQL:
במקורות PostgreSQL:
למידע נוסף על שדות של מטא-נתונים, אפשר לעיין במאמר מטא-נתונים ספציפיים למקור. |
| אם נוצרים כמה קבצים עם אותה חותמת זמן, באיזה סדר צריך לעבד אותם? | מכיוון שאין הבטחה שהסדר בתוך הקבצים וביניהם יישמר, הדרך הטובה ביותר לקבוע את סדר עיבוד הקבצים של המקור היא לקבל את כל האירועים מכל הקבצים עם חותמת הזמן הספציפית, ואז להחיל את הסדר באמצעות השיטה שצוינה קודם בסעיף הזה. |
| איך מתבצע הטיפול בעדכונים של המפתח הראשי? האם יש באירוע מידע על מה שקרה לפני ואחרי? | כשהמפתח הראשי של שורה משתנה, Datastream יוצר שני אירועים לשינוי: UPDATE-DELETE ו-UPDATE-INSERT. האירוע UPDATE-DELETE מייצג את הנתונים לפני העדכון, והאירוע UPDATE-INSERT מייצג את הנתונים אחרי העדכון. מידע נוסף על מטא-נתונים ספציפיים למקור זמין במאמר אירועים ומקורות נתונים. |
| מהו גודל השורה המקסימלי שנתמך ב-Datastream כשמעבירים נתונים בסטרימינג ל-Cloud Storage? | גודל השורה המקסימלי שנתמך ב-Datastream הוא 100MB. |
תרחישים לדוגמה
| שאלה | תשובה |
|---|---|
| מהם תרחישי השימוש הנפוצים ב-Datastream? | Datastream הוא שירות CDC ורפליקציה, כלומר הוא גמיש ומתאים למגוון תרחישים לדוגמה שבהם יש צורך בגישה לנתונים משתנים בסטרימינג רציף. תרחישי השימוש הנפוצים ביותר ב-Datastream הם:
|
שילובים
| שאלה | תשובה |
|---|---|
| איך Datastream משתלב עם שירותי הנתונים של Google Cloud ? | Datastream משלים ומשפר את חבילת הנתונים של Google Cloud על ידי שכפול נתוני CDC ממקורות לשירותים שונים של Google Cloud . השילוב החלק עם השירותים האלה מאפשר ל-Datastream להשתלב בסביבה העסקית הרחבה יותר של Google Cloud . Datastream משתלב עם שירותי הנתונים הבאים:
|
| האם יש מגבלות על מספר הפעולות של שפת הטיפול בנתונים (DML) בתבנית Datastream-to-BigQuery ב-Dataflow? | לא. התבנית משתמשת ב-API של הזנת זרם נתונים כדי לטעון נתונים ל-BigQuery. כתוצאה מכך, אין הגבלה על מספר פעולות ה-DML. עם זאת, חלות מגבלות מסוימות על המכסות. |
אבטחה וקישוריות
| שאלה | תשובה |
|---|---|
| האם Datastream הוא שירות מאובטח למידע אישי רגיש? | Datastream תומך בכמה הגדרות אישיות ומאובטחות של קישוריות כדי להגן על נתונים במעבר בזמן שהם מועברים ממקור ליעד. אחרי שהנתונים משוכפלים, הם מוצפנים כברירת מחדל ומשתמשים באמצעי בקרת האבטחה של BigQuery או של Cloud Storage. כל הנתונים שמאוחסנים במאגר נתונים זמני (buffer) על ידי Datastream מוצפנים במנוחה. |
| אילו אפשרויות קישוריות זמינות לחיבור המקורות ל-Datastream? | יש שלושה סוגים של שיטות קישוריות שאפשר להגדיר:
|
| איך אפשר להגביל את עיבוד הנתונים הרגישים ב-Datastream? |
בעזרת Datastream אפשר לציין אילו רכיבי נתונים ספציפיים (סכימות, טבלאות ועמודות) של המקור רוצים להעביר בסטרימינג ליעד, ואילו רכיבים רוצים להחריג מהסטרימינג. יכול להיות שיומני מסד הנתונים יכילו נתוני שינויים מרכיבים שהוחרגו בהגדרת ה-stream. אי אפשר לסנן את הרכיבים האלה במקור, ולכן Datastream יקרא את הנתונים שמשויכים לרכיבים אבל יתעלם מהם. |
| איך Datastream שומר על אבטחת פרטי הכניסה למסד הנתונים? | בין אם אתם משתמשים ב-Secret Manager כדי לאחסן את הסיסמה ובין אם אתם מזינים את הסיסמה באופן ידני כשאתם יוצרים את פרופיל החיבור, כל המטא-נתונים של המשתמשים מוצפנים בזמן ההעברה ובמצב של מנוחה, ו-Google מאחסנת אותם במערכות האחסון הקנייניות שלה. הגישה למטא-נתונים האלה נמצאת במעקב ובביקורת. |
למה בדף יצירת הגדרה של חיבור מבודד כתוב שצריך להקצות את התפקיד roles/compute.networkAdmin לחשבון השירות של Datastream כדי ליצור הגדרה של חיבור מבודד ב-VPC משותף? |
התפקיד networkAdmin נדרש רק כדי ליצור את הקישור בין רשתות VPC שכנות. אחרי שההתאמה בין רשתות שכנות (peering) נוצרת, אתם לא צריכים יותר את התפקיד. אם בארגון שלכם אסור להקצות את התפקיד networkAdmin לחשבון השירות של Datastream, אתם יכולים ליצור תפקיד בהתאמה אישית עם ההרשאות הספציפיות הבאות:
בחירה דינמית של טווחי כתובות IP
יצירת רשתות מקושרות
שמירת כתובות IP
|
| האם אפשר להשתמש ב-Private Service Connect כדי ליצור הגדרת חיבור מבודד? | ב-Datastream אפשר להשתמש בממשקי Private Service Connect בתור הגדרה של חיבור מבודד. ממשק Private Service Connect הוא משאב שמאפשר לרשת של ענן וירטואלי פרטי (VPC) של יצרן ליזום חיבורים לרשת VPC של צרכן ולקבל ממנה חיבורים. מידע נוסף זמין במאמר הגדרת ממשקי Private Service Connect. |
מעקב אחרי Datastream
| שאלה | תשובה |
|---|---|
| איך אפשר לדעת שכל הנתונים ההיסטוריים הועתקו ליעד? | ב-Datastream יש מידע על הסטטוס הנוכחי שלו בקובצי היומן. רשומה ביומן נוצרת כדי לציין מתי מסתיים מילוי חוסרים בטבלה. |
| לפעמים זמן האחזור עולה ואז יורד בהדרגה עם הזמן. האם זה צפוי? | Datastream מגדיל את קנה המידה באופן אוטומטי כשקצב העברת הנתונים של האירועים שנוצרים על ידי המקור עולה. עם זאת, כדי להגן על מסד הנתונים של המקור וגם על Datastream, יש מגבלות על מספר החיבורים והתהליכים בו-זמנית ש-Datastream יכול לפתוח בכל שלב. כשקצב העברת האירועים עולה באופן משמעותי, צפויות עליות זמניות בזמן האחזור. העליות האלה צפויות לרדת בהדרגה ככל שהצבר של האירועים מעובד. |
תמחור
| שאלה | תשובה |
|---|---|
| מה התמחור של Datastream? | התמחור של Datastream מבוסס על נפח הנתונים (ב-GB) שעובדו מהמקור ליעד. מידע נוסף על התמחור של Datastream זמין במאמר תמחור. |
| איך מחשבים את גודל הנתונים? | החיוב מחושב לפי גודל הנתונים שמעובדים על ידי Datastream. ב-Datastream משלמים רק על נתונים שמועברים בסטרימינג ליעד. |
| אם משתמשים ב-Datastream עם BigQuery או Dataflow, על מה משלמים? | כל שירות מתומחר ומחויב בנפרד. |
מידע נוסף
| שאלה | תשובה |
|---|---|
| מה לעשות אם יש לי עוד שאלות או בעיות בשימוש ב-Datastream? | צוות התמיכה של Google יכול לעזור לכם אם נתקלתם בבעיות בשימוש ב-Datastream. בנוסף, במדריך לפתרון בעיות מפורטות בעיות נפוצות שאתם עשויים להיתקל בהן במהלך השימוש ב-Datastream. |
המאמרים הבאים
- מידע נוסף על Datastream
- מידע ולמידה על מושגי מפתח ותכונות של Datastream.
- מידע על מקורות שנתמכים ב-Datastream
- מידע ולמידה על יעדים שנתמכים ב-Datastream