בדף הזה תמצאו תשובות לשאלות נפוצות (FAQ) על השימוש ב-Datastream. השאלות הנפוצות האלה קשורות ל:
- שאלות כלליות לגבי Datastream וסימון נתונים שהשתנו (CDC)
- התנהגות כללית של מקורות ומגבלות
- התנהגות ומגבלות של מקור MySQL
- התנהגות ומגבלות של מקור Oracle
- התנהגות ומגבלות של מקור PostgreSQL (כולל AlloyDB ל-PostgreSQL)
- התנהגות ומגבלות של מקור SQL Server
- התנהגות ומגבלות של מקור Salesforce
- התנהגות היעד ב-BigQuery
- התנהגות היעד ב-Cloud Storage
- תרחישים נפוצים לדוגמה לשימוש ב-Datastream
- איך Datastream משתלב עם Google Cloud שירותי נתונים
- אבטחה וקישוריות
- מעקב אחרי Datastream
- תמחור
- מידע נוסף על Datastream
שאלות כלליות לגבי Datastream וסימון נתונים שהשתנו (CDC)
| שאלה | תשובה |
|---|---|
| מהו Datastream? | Datastream הוא שירות ללא שרת (serverless) קל לשימוש לסימון נתונים שהשתנו (CDC) וליצירת רפליקות. Datastream מאפשר שכפול חלק של נתונים ממקורות של מסדי נתונים רלציוניים כמו AlloyDB ל-PostgreSQL, PostgreSQL, MySQL, SQL Server ו-Oracle, וגם מ-Salesforce ומ-MongoDB, ישירות אל BigQuery. Datastream מציע את המדרגיות, המהירות, האבטחה והפשטות שעסקים מודרניים צריכים. עם ארכיטקטורה בלי שרת (serverless) ועם התאמה אוטומטית לעומס (autoscaling), Datastream מאפשר לכם להגדיר פייפליין ELT (חילוץ, טעינה וטרנספורמציה) לשכפול נתונים עם השהיה נמוכה, כדי לקבל תובנות כמעט בזמן אמת. בנוסף, ל-Datastream יש יכולת לסנכרן זרמי נתונים בין מסדי נתונים ואפליקציות הטרוגניים בצורה מהימנה ועם זמן אחזור מינימלי. אפשר לשלב את השירות עם תבניות Dataflow כדי לשכפל מסדי נתונים ל-Cloud SQL או ל-Spanner לצורך סנכרון מסדי נתונים, או לנצל את זרם האירועים ישירות מ-Cloud Storage כדי להטמיע ארכיטקטורות מבוססות-אירועים. |
| באילו שיטות Datastream מעביר נתונים בסטרימינג? | מקור נתונים מעביר נתונים ממקור ליעד באחת משתי שיטות:
|
| מה זה CDC? |
CDC היא גישה לשילוב נתונים שמאפשרת לכם לשלב ולנתח נתונים מהר יותר, תוך שימוש בפחות משאבי מערכת. זו שיטה לשליפת רק השינויים האחרונים (עדכונים, הוספות או מחיקות) ממקור נתונים, לרוב על ידי קריאת יומן השינויים שהמקור שומר לצורך שלמות העסקאות הפנימית שלו. CDC הוא מנגנון יעיל מאוד להגבלת ההשפעה על המקור כשמעלים נתונים חדשים למאגרי נתונים תפעוליים ולמחסני נתונים. הוא מאפשר העלאה מצטברת או סטרימינג של שינויים בנתונים כמעט בזמן אמת ליעד נתונים, וכך מבטל את הצורך בעדכון של העלאות בכמות גדולה ובחלונות זמן לא נוחים של עיבוד באצווה. אפשר להשתמש ב-CDC במגוון רחב של תרחישי שימוש שבהם יש ערך לגישה קבועה לשינויים בנתונים בזמן שהם מתרחשים, כמו ניתוח נתונים, סנכרון נתונים בין מערכות שמפוזרות גיאוגרפית וארכיטקטורות מבוססות-אירועים. |
| מה זה מילוי חוסרים? | בנוסף לשינויים שמתבצעים באופן שוטף, Datastream משתמש גם במילוי חוסרים כדי לשלוף את כל הנתונים הקיימים ממקור מסוים, ואז להזרים את הנתונים ליעד. כתוצאה מכך, כל הנתונים ההיסטוריים מהמקור מועברים ליעד. יש שני סוגים של מילוי חוסרים:
|
| האם יש מגבלות שצריך להביא בחשבון כשמבצעים מילוי חוסרים? |
מידע על אילוצים של מילוי חוסרים זמין בדפים עם המגבלות הידועות של סוגי המקורות הרלוונטיים:
|
| מהו הסדר המומלץ לפעולות של CDC ומילוי חוסרים? | ברוב המקרים, אין כאן שיקולים מיוחדים. כשהאפשרות 'מילוי חוסרים' מופעלת בזרם, 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) כדי להוציא את הנתונים מהמקור. |
| כמה טבלאות אפשר לכלול בזרם אחד? | מקור נתונים יכול לטפל בעד 10,000 טבלאות במקור נתונים יחיד. אין סיבה טכנית לפצל מסד נתונים למספר זרמים, אבל יכול להיות שיש שיקולים עסקיים להשתמש בזרמים שונים לזרימות לוגיות שונות, למשל כשמשכפלים עסקאות גדולות ממקורות PostgreSQL. עם זאת, כל מקור נתונים מוסיף עומס על מסד הנתונים של המקור. העומס הזה זניח ב-CDC, אבל יכול להיות משמעותי ב-backfill. |
| מה לגבי ההשפעה של השימוש ב-Datastream על ביצועים של מסד נתונים בייצור? |
CDC הוא מנגנון יעיל מאוד להגבלת ההשפעה על המקור כשנתונים חדשים נטענים למחסני נתונים ולמחסני נתונים של יעד. בנוסף, CDC מאפשר טעינה מצטברת או סטרימינג של שינויים בנתונים כמעט בזמן אמת אל היעד, וכך מבטל את הצורך בעדכון של טעינה בכמות גדולה ואת חלונות הזמן הלא נוחים של אצווה. בנוסף, Datastream מצמצם את ההשפעה של מילוי חוסרים ראשוני על ידי הגבלת מספר משימות מילוי החוסרים בו-זמנית, ומאפשר לכם להחליט אילו אובייקטים למלא חוסרים ומתי למלא אותם. |
| האם אפשר להעתיק את קובצי היומן מהמקור אל Google Cloud? | לא. Datastream שולח שאילתות ישירות ליומנים בשרת מסד הנתונים, ורק שינויים בטבלאות שצוינו נכתבים ליעד. |
| האם Datastream יכול להעביר גם נתונים היסטוריים? | כן. כברירת מחדל, Datastream מקבל את כל הנתונים ההיסטוריים מטבלאות מסד הנתונים של המקור שאתם מציינים, במקביל לזרם ה-CDC. 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 ו-MongoDB, גם ממקורות שמתארחים בענן וגם ממקורות בניהול עצמי. למידע על גרסאות ספציפיות למקור, אפשר לעיין בדפים הבאים:
|
| האם Datastream יכול לטפל במסדי נתונים מוצפנים? | כן. |
| איך Datastream מחלץ נתונים מהמקורות? | ב-MySQL, Datastream מעבד את היומן הבינארי של MySQL כדי לחלץ אירועי שינוי. ב-Oracle, Datastream משתמש ב-LogMiner ובהגדרות של רישום ביומן משלים כדי לחלץ נתונים מיומני ה-redo של Oracle. ב-PostgreSQL וב-AlloyDB ל-PostgreSQL, Datastream מסתמך על התכונה logical decoding של 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? | Datastream משתמש ביומן הבינארי של MySQL כדי לחלץ את אירועי השינוי מ-MySQL |
| האם Datastream תומך במכונות реплика לקריאה של Cloud SQL ל-MySQL? | כן, Datastream תומך במכונות реплика לקריאה ב-Cloud SQL ל-MySQL בגרסאות 5.7 ו-8.0. אפשר להפעיל רישום בינארי במופעים האלה. כדי לעשות זאת, מריצים את הפקודה הבאה ב-CLI של gcloud: gcloud sql instances patch INSTANCE_NAME -- enable-bin-log מידע נוסף זמין במאמר בנושא רישום בינארי ב-read replicas. |
| אילו הרשאות מינימליות נדרשות ל-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? | לא. לא נדרש רישיון ל-GoldenGate כי Datastream משתמש ב-Oracle LogMiner כדי לקרוא את הנתונים מיומני ה-redo של מסד הנתונים. |
| מה קורה כשאין יותר תמיכה ב-Oracle LogMiner? | Oracle LogMiner עדיין נתמך בכל הגרסאות של Oracle שזמינות לכולם, ו-Datastream ימשיך לתמוך ב-LogMiner בכל הגרסאות העתידיות. Oracle הפסיקה את התמיכה באפשרות CONTINUOUS_MINE של LogMiner, אבל Datastream לא משתמשת באפשרות הזו, ולכן ההוצאה משימוש הזו לא משפיעה על Datastream. |
| האם Datastream תומך בהצפנה של נתונים במעבר ממסדי נתונים של Oracle? | Datastream תומך בהצפנת נתונים במעבר על בסיס Oracle Net Services. מקור הנתונים פועל במצב |
| האם Datastream תומך בהצפנה של Secure Sockets Layer (SSL) ו-Transport Layer Security (TLS)? | כן, Datastream תומך בפרוטוקול TCPS לחיבורים מוצפנים באמצעות SSL/TLS למקורות של Oracle. |
| האם Datastream תומך בארכיטקטורה של Oracle multi-tenant, במיוחד ב-Container Databases (CDBs) וב-Pluggable Databases (PDBs)? | כן, Datastream תומך בארכיטקטורת Oracle multi-tenant (CDB/PDB), אבל אפשר לשכפל רק מסד נתונים אחד שניתן להוספה בזרם. |
הארגון שלכם לא מאפשר להעניק את ההרשאה GRANT SELECT ANY TABLE. האם עדיין אפשר להשתמש ב-Datastream? |
אם אין לכם אפשרות להעניק את ההרשאה
כדי להזרים שינויים באמצעות Datastream, אתם צריכים גם הרשאת קריאה לכל הטבלאות שכלולות בהזרמה. כדי להתחיל את הסטרימינג, צריך לעקוף את האימות באמצעות ה-API. מידע נוסף זמין במאמר הפעלת סטרימינג. |
| האם Datastream תומך בשכפול ממופעי Oracle read-replica? | Datastream תומך בשכפול ממופעים של Oracle read-replica, כל עוד המופע מוגדר בהתאם להנחיות ההגדרה. |
| האם Datastream תומך במסדי נתונים של Oracle SCAN RAC? | כן, יש לו. עם זאת, אי אפשר ליצור קישוריות ישירה למסדי נתונים באמצעות התכונה Single Client Access Name (SCAN) בסביבות Oracle Real Application Clusters (RAC) באמצעות Datastream. כדי לעקוף את המגבלה הזו, מתחברים ישירות לאחד הצמתים או משתמשים ב-Oracle Connection Manager. אפשר גם ליצור הגדרת קישוריות פרטית באמצעות פתרונות של שרת proxy הפוך כמו HAProxy. |
התנהגות ומגבלות של מקור PostgreSQL
| שאלה | תשובה |
|---|---|
| איך Datastream שולף נתונים מ-PostgreSQL? | Datastream משתמש בתכונת הפענוח הלוגי של PostgreSQL כדי לחלץ את אירועי השינוי מ-PostgreSQL |
| האם Datastream תומך בשכפול ממקורות של AlloyDB ל-PostgreSQL או AlloyDB Omni? | כן. Datastream תומך בשני המקורות האלה. מידע על הגדרת מסד הנתונים של AlloyDB ל-PostgreSQL כמקור זמין במאמר הגדרת מסד נתונים של AlloyDB ל-PostgreSQL. מידע על הגדרת מסד נתונים של AlloyDB Omni כמקור זמין במאמר הגדרת מסד נתונים של PostgreSQL בניהול עצמי. |
| האם Datastream תומך בשכפול ממופע של העתק לקריאה של PostgreSQL? | לא, Datastream לא תומך בשכפול ממופעי העתקה לקריאה של PostgreSQL. |
| האם Datastream תומך באבטחה ברמת השורה (RLS)? | Datastream לא תומך בשכפול של טבלאות שמופעל בהן RLS. אבל אפשר לעקוף את ההגבלה הזו באמצעות הסעיף BYPASSRLS:
ALTER USER USER_NAME BYPASSRLS; מחליפים את USER_NAME בשם המשתמש שמשמש את Datastream להתחברות למסד הנתונים, ושרוצים לעקוף עבורו את מדיניות RLS. |
| האם Datastream תומך בפעולות CDC בו-זמניות כשמשכפלים ממקור PostgreSQL? | לא. השכפול ב-PostgreSQL מבוסס על הרעיון של משבצות שכפול, ומשבצות שכפול לא תומכות בחיבורים בו-זמניים. יכולה להיות רק משימת CDC אחת שקוראת מתוך משבצת השכפול בכל פעם. לדוגמה, אם מוחקים מספר גדול של רשומות ממסד הנתונים של המקור, יכול להיות שמשבצת השכפול תהיה עמוסה מדי באירועי מחיקה. כל שינוי נוסף במקור יעוכב עד שהאירועים של המחיקה שכבר נמצאים בתור של משבצת השכפול יעובדו. מידע על הגישה המומלצת לשכפול נתוני טרנזקציות גדולים זמין במאמר אבחון בעיות. |
| האם Datastream תומך בהצפנה של Secure Sockets Layer (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 כמקור? | אפשר לבחור אחת משתי שיטות ה-CDC שזמינות, בהתאם להגדרות של מסד הנתונים של SQL Server:
מידע נוסף זמין במאמר סקירה כללית של SQL Server כמקור. |
התנהגות ומגבלות של מקור Salesforce
| שאלה | תשובה |
|---|---|
| מהו ארגון Salesforce? | ארגון Salesforce, שנקרא גם ארגון, הוא פריסה ייעודית של Salesforce, בדומה למופע של מסד נתונים. בארגון מוגדרת קבוצה של משתמשים מורשים, והוא מאחסן את כל נתוני הלקוחות והאפליקציות. |
| מהם אובייקטים, רשומות ושדות ב-Salesforce? | אובייקט הוא ישות מסוג class, והוא דומה לטבלה במינוח של מסדי נתונים רלציוניים. הם יכולים להיות סטנדרטיים או מותאמים אישית. אובייקטים רגילים כלולים ב-Salesforce כברירת מחדל, ואילו אובייקטים בהתאמה אישית נוצרים על ידי משתמשים כדי לאחסן נתונים שספציפיים לתרחיש השימוש שלהם. רשומה היא מופע ספציפי של אובייקט, בדומה לשורה במסדי נתונים יחסיים. שדה הוא מאפיין ספציפי של אובייקט, בדומה לעמודה במסדי נתונים יחסיים. |
| האם Datastream תומך בשדות מחושבים ב-Salesforce? | Datastream תומך באופן חלקי בשדות מחושבים ב-Salesforce (שדות נוסחה). שכפול השדות האלה כפוף למגבלות מסוימות. מידע נוסף זמין במאמר בנושא מגבלות ידועות. |
התנהגות היעד ב-BigQuery
| שאלה | תשובה |
|---|---|
| איך Datastream ו-BigQuery פועלים יחד כדי לשכפל שינויים ממסד הנתונים של המקור? | Datastream קורא באופן רציף את זרם השינויים ממסד הנתונים של המקור, ומעביר את אירועי ה-upsert והמחיקה לטבלאות היעד ב-BigQuery באמצעות Storage Write API. לאחר מכן, BigQuery מחיל את השינויים על הטבלה על סמך ההגדרה של הנתונים בטבלה. |
| איך מוחלות פעולות של שפת טיפול בנתונים (DML) ב-BigQuery? |
|
| איך Datastream ו-BigQuery מטפלים בסדר האירועים? | מערכת BigQuery משתמשת במטא-נתונים של האירועים ובמספר רצף שינויים (CSN) פנימי כדי להחיל את האירועים על הטבלה בסדר הנכון. מידע נוסף על מטא-נתונים של אירועים זמין במאמר אירועים וסטרימינג. |
| איך מחושבות העלויות של BigQuery כשמשתמשים בו עם Datastream? | העלויות של BigQuery מחושבות ומחויבות בנפרד מהעלויות של Datastream. מידע נוסף על ניהול העלויות ב-BigQuery זמין במאמר תמחור CDC ב-BigQuery. |
| מה גודל השורה המקסימלי ש-Datastream תומך בו כשמזרימים נתונים ל-BigQuery? | גודל השורה המקסימלי שנתמך ב-Datastream הוא 20MB. |
כשמבצעים סטרימינג ל-BigQuery, הטבלאות מתחילות בקידומת . האם אפשר לשנות את ההתנהגות הזו כך שהטבלאות ב-BigQuery יהיו בעלות מבנה זהה לזה של מסד הנתונים של המקור? |
כשמגדירים מערכי נתונים ליעד ב-BigQuery, יוצרים מערך נתונים לכל סכימה או מערך נתונים אחד לכל הסכימות. כשיוצרים מערך נתונים לכל סכימה, כל סכימה במקור ממופה למערך נתונים ב-BigQuery, וכל הטבלאות בסכימת המקור ממופות לטבלאות במערך הנתונים. כשבוחרים באפשרות של מערך נתונים יחיד לכל הסכימות, שמות הטבלאות מתחילים בקידומת , בהתאם למוסכמות למתן שמות לטבלאות ב-BigQuery. |
| האם אפשר להשתמש ב-CDC כדי לתעד שינויים בסכימה של המקור, למשל כשמוסיפים או מוחקים עמודה במקור? האם השינויים האלה משתקפים אוטומטית בטבלאות שכבר אוכלסו במערכי הנתונים של היעד ב-BigQuery? | הכלי Datastream מזהה עמודות חדשות באופן אוטומטי ומוסיף אותן לסכימת היעד בשורות החדשות, אבל לא בשורות שכבר שוכפלו ליעד. המערכת מתעלמת מעמודות שנמחקו, ו-Datastream מאכלס אותן בערכים NULL ביעד. אחר כך תוכלו למחוק את העמודות האלה באופן ידני ב-BigQuery. |
התנהגות היעד ב-Cloud Storage
| שאלה | תשובה |
|---|---|
| איך נוצרים קבצים ב-Cloud Storage? | מקור הנתונים יוצר תיקייה לכל טבלה. בכל תיקייה, 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? | לא. התבנית משתמשת ב-Streaming Inserts API כדי לטעון נתונים ל-BigQuery. כתוצאה מכך, אין הגבלה על מספר פעולות ה-DML. עם זאת, חלות מגבלות מסוימות על נפח האחסון. |
אבטחה וקישוריות
| שאלה | תשובה |
|---|---|
| האם Datastream הוא שירות מאובטח למידע אישי רגיש? | Datastream תומך בכמה הגדרות חיבור מאובטחות ופרטיות כדי להגן על נתונים במעבר בזמן שהם מוזרמים ממקור ליעד. אחרי שהנתונים משוכפלים, הם מוצפנים כברירת מחדל, והם מוגנים באמצעות אמצעי האבטחה של BigQuery או של Cloud Storage. כל הנתונים שנשמרים בזיכרון הזמני של Datastream מוצפנים כשהם במנוחה. |
| אילו אפשרויות קישור זמינות לחיבור המקורות ל-Datastream? | אפשר להגדיר שלושה סוגים של שיטות קישוריות:
|
| איך אפשר להגביל את העיבוד של מידע רגיש ב-Datastream? |
מקור נתונים מאפשר לכם לציין אילו רכיבי נתונים ספציפיים (סכימות, טבלאות ועמודות) של המקור אתם רוצים להזרים ליעד, ואילו רכיבים אתם רוצים להחריג מההזרמה. יכול להיות שיומני מסד הנתונים יכילו נתוני שינויים מרכיבים שהוחרגו בהגדרת הזרם. מכיוון שאי אפשר לסנן את הרכיבים האלה במקור, Datastream יקרא את הנתונים שמשויכים לרכיבים, אבל יתעלם מהם. |
| איך Datastream שומר על אבטחת פרטי הכניסה למסד הנתונים? | בין אם אתם משתמשים ב-Secret Manager כדי לאחסן את הסיסמה או מזינים את הסיסמה באופן ידני כשאתם יוצרים את פרופיל החיבור, כל המטא-נתונים של המשתמשים מוצפנים בזמן ההעברה ובזמן האחסון, ו-Google מאחסנת אותם במערכות האחסון הקנייניות שלה. הגישה למטא-נתונים האלה מתועדת ונבדקת. |
למה בדף Create a private connectivity configuration מצוין שצריך להעניק את התפקיד 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 זמין במאמר תמחור. |
| איך מחשבים את גודל הנתונים? | החיוב מחושב על סמך גודל הנתונים שעוברים עיבוד על ידי Datastream. ב-Datastream מחייבים רק על נתונים שמוזרמים ליעד. |
| אם משתמשים ב-Datastream עם BigQuery או Dataflow, מה משלמים? | כל שירות מתומחר בנפרד. |
מידע נוסף
| שאלה | תשובה |
|---|---|
| מה עושים אם יש שאלות נוספות או בעיות בשימוש ב-Datastream? | צוות התמיכה של Google יכול לספק תמיכה אם נתקלתם בבעיות בשימוש ב-Datastream. בנוסף, במדריך לפתרון בעיות מוסבר איך לפתור בעיות נפוצות שאתם עשויים להיתקל בהן במהלך השימוש ב-Datastream. |
המאמרים הבאים
- מידע נוסף על Datastream
- מושגים ותכונות מרכזיים ב-Datastream
- מידע על מקורות שנתמכים ב-Datastream
- מידע על יעדים שנתמכים ב-Datastream