באמצעות Datastream אתם יכולים להטמיע נתונים ממסדי נתונים רלציוניים וממקורות אחרים ביעדים כמו BigQuery, טבלאות Apache Iceberg ו-Cloud Storage כמעט בזמן אמת. לאחר מכן תוכלו להשתמש בנתונים המשוכפלים ב-BigQuery למטרות אחסון נתונים וניתוח, או להריץ משימות ב-Apache Spark כדי לעבד נתונים של בינה מלאכותית ולמידת מכונה.
מושגים
בקטע הזה מוסברים המושגים העיקריים שחשוב להכיר כדי להשתמש ב-Datastream בצורה יעילה.
סימון נתונים שהשתנו (CDC)
סימון נתונים שהשתנו (CDC) הוא קבוצה של תבניות עיצוב תוכנה שמשמשות לזיהוי נתונים שהשתנו ולמעקב אחריהם, כדי שאפליקציות יוכלו לעבד את העדכונים. CDC היא גם גישה לשילוב נתונים שמבוססת על זיהוי, תיעוד והעברה של שינויים שבוצעו במקורות נתונים ארגוניים.
מקורות לאירועים
תבנית העיצוב מקור אירועים מתעדת כל שינוי במצב של אפליקציה באובייקט אירוע. באמצעות שימוש במקורות אירועים, אפליקציה יכולה לבנות מחדש את המצב שלה, לבצע שחזור מערכת מנקודה מסוימת בזמן (PITR) (על ידי עיבוד אירועים עד לאותה נקודה), לחשב מחדש את המצב כשהלוגיקה העסקית משתנה או להפעיל ארכיטקטורת Command Query Responsibility Segregation (CQRS). עם התפתחות הכלים לעיבוד אירועים בזמן אמת, הרבה אפליקציות משתמשות במודל של מקורות אירועים. במסדי נתונים טרנזקציוניים יש אוריינטציה מובנית לאירועים, כדי לעמוד בדרישות של אטומיות, עקביות, בידוד ועמידות (ACID).
מסדי נתונים בטרנזקציות
במסד נתונים טרנזקציוני, קבוצת הפעולות שמסד הנתונים מבצע נכתבת בדרך כלל ביומן כתיבה מראש (WAL) לפני שפעולות כלשהן מבוצעות במנוע האחסון. אחרי שפעולה מבוצעת במנוע האחסון ומועברת ל-WAL, היא נחשבת למוצלחת. שימוש ב-WAL מאפשר אטומיות ועמידות, וגם שכפול באיכות גבוהה של מסד הנתונים. בחלק ממסדי הנתונים, הפעולה המדויקת שמתרחשת ברמת האחסון נכתבת ביומן (לדוגמה, write 0x41 at location 20), כך שאפשר לשכפל את הפעולות האלה רק באותו מנוע אחסון. במסדי נתונים אחרים מתועדת הצהרה לוגית מלאה (או שורה) שאפשר להריץ מחדש במנוע אחסון אחר.
אירועים ושידורים
Datastream קולט כמויות גדולות של נתונים כמעט בזמן אמת ממגוון מקורות, והופך את הנתונים לזמינים לצריכה ביעד. יחידת הנתונים שמאוחסנת ב-Datastream היא אירוע. הזרם מייצג את ההטמעה הרציפה של אירועים ממקור וכתיבה שלהם ליעד.
סוגים מאוחדים
למקורות נתונים יש סוגי נתונים משלהם – חלקם ספציפיים למסד הנתונים עצמו, ואחרים הם כלליים ומשותפים בין מסדי נתונים. מכיוון שמקורות מרובים יוצרים זרמים ליעד מאוחד, נדרש ייצוג סטנדרטי של סוג המקור המקורי בכל המקורות. סוג מאוחד הוא ייצוג נפוץ וללא אובדן מידע של סוגי נתונים בכל המקורות, כך שאפשר לצרוך את הנתונים באופן עקבי. הסוגים המאוחדים שנתמכים על ידי Datastream מייצגים את קבוצת העל של כל הסוגים המנורמלים בכל מערכות המקור הנתמכות.
ההקשר של הישות
ל-Datastream יש חמש ישויות:
- הגדרות של קישוריות פרטית מאפשרות ל-Datastream לתקשר עם מקורות נתונים דרך חיבור מאובטח ופרטי לרשת. התקשורת הזו מתרחשת באמצעות קישור בין רשתות VPC שכנות (peering).
- פרופילי חיבור מייצגים מידע על קישוריות למסד נתונים ספציפי של מקור או יעד.
- העברות מייצגות זוג של פרופילי חיבור למקור וליעד, יחד עם הגדרות ספציפיות להעברה.
- אובייקטים מייצגים חלק מסטרימינג. לדוגמה, לכל טבלה שמוזרמת יש אובייקט נתונים בזרם של מסד נתונים.
- אירועים מייצגים כל שינוי בשפת טיפול בנתונים (DML) עבור אובייקט נתון.
אחרי שיוצרים הגדרה של קישוריות פרטית, אפשר להתחבר למקורות שמתארחים ב- Google Cloud או במקומות אחרים דרך ערוץ תקשורת פרטי. חיבור מבודד הוא אופציונלי. ב-Datastream יש תמיכה גם במצבי קישוריות אחרים ברשתות ציבוריות.
אחרי שיוצרים פרופיל חיבור למקור וליעד, אפשר ליצור מקורות נתונים שמשתמשים במידע ששמור בפרופילי החיבור כדי להעביר נתונים מהמקור ליעד.
אחרי שיוצרים מקור נתונים, Datastream מתחבר ישירות למקור, צורך תוכן ואז מעבד אירועים וכותב אותם ביעד על סמך מבנה האירוע.
כדי להשתמש שוב בהגדרות של קישוריות פרטית ובפרופילי חיבור, אתם יכולים לנהל אותם בנפרד מהסטרימינג.
תכונות
התכונות של Datastream כוללות:
- בלי שרת (serverless): מגדירים מקור נתונים והנתונים מתחילים לעבור. אין צורך בהתקנה, בהקצאת משאבים או בתחזוקה. כשהיקפי הנתונים משתנים, יכולות ההתאמה לעומס (autoscaling) של Datastream מקצות משאבים באופן אוטומטי כדי שהנתונים ימשיכו לזרום כמעט בזמן אמת.
- סכימת סוגים מאוחדת שמבוססת על Avro: Datastream מאפשר עיבוד שלא תלוי במקור, על ידי המרה של כל סוגי הנתונים הספציפיים למקור לסכימת סוגים מאוחדת של Datastream, שמבוססת על סוגי Avro.
- הזרמת נתונים היסטוריים ונתוני CDC: Datastream מזרים נתוני מקור היסטוריים ונתוני CDC בו-זמנית כמעט בזמן אמת.
- Oracle CDC ללא רישיונות נוספים: Datastream מספק סטרימינג של CDC מבוסס-LogMiner מכל גרסת מקור של Oracle החל מ-11.2, ללא צורך ברישיונות נוספים או בהתקנות תוכנה.
- יעד ב-BigQuery: השינויים במקור משוכפלים באופן רציף לטבלאות ב-BigQuery, כמעט בזמן אמת. הנתונים ב-BigQuery זמינים לניתוח כמעט בלי עיכוב.
- יעד ב-Cloud Storage: נתוני ה-CDC נכתבים באופן רציף לקובצי Avro או JSON עם תיאור עצמי ב-Cloud Storage. אפשר לעבד את הנתונים האלה ישירות במקום או לטעון אותם במורד הזרם ליעד אחר, כמו Spanner.
- ניהול מטא-נתונים מרוכז באמצעות Knowledge Catalog: משאבי Datastream, כמו מקורות נתונים, פרופילי חיבור והגדרות קישוריות, מסונכרנים באופן אוטומטי עם Knowledge Catalog. כך תוכלו לחפש את הנכסים האלה ולעיין בהם ישירות בממשק המשתמש של Knowledge Catalog.
תרחישים לדוגמה
יש שלושה תרחישים עיקריים לשימוש ב-Datastream:
- שילוב נתונים: אפשר להזין נתונים ממאגרי מידע ומתוכנות כשירות (SaaS) בענן לצינור עיבוד נתונים כמעט בזמן אמת, על ידי טעינת הנתונים ל-BigQuery.
- ניתוח נתונים בזמן אמת: שינויים במסדי נתונים מוזנים לצינורות (pipelines) של נתונים בזמן אמת שמשתמשים ב-Dataflow כדי לזהות הונאות, לעבד אירועי אבטחה ולזהות אנומליות.
- זמינות של שינויים בנתונים כמעט בזמן אמת: הזמינות של שינויים בנתונים כמעט בזמן אמת מאפשרת לאפליקציות של בינה מלאכותית ולמידת מכונה למנוע נטישת לקוחות או להגביר את המעורבות באמצעות קמפיינים שיווקיים, או על ידי הזנת נתונים בחזרה למערכות הייצור.
סקירה כללית על התנהגות
Datastream מאפשר לכם להזרים שינויים שמתרחשים באופן שוטף מכמה מקורות נתונים ישירות אל Google Cloud.
מקורות
- לפני שמשתמשים במקור ב-Datastream, צריך להגדיר את האימות ואפשרויות נוספות של המקור.
- כל מקור יוצר אירועים שמשקפים את כל השינויים בשפת טיפול בנתונים (DML).
- כל מקור נתונים יכול למלא נתונים היסטוריים ולהעביר שינויים שוטפים ליעד.
יעדים
ב-Datastream אפשר להשתמש ב-BigQuery, בטבלאות Apache Iceberg וב-Cloud Storage בתור יעדים. כשיוצרים זרם, מגדירים את היעד שלו.
העברת אירועים
- סדר האירועים לא מובטח. מטא-נתונים של אירועים כוללים מידע שאפשר להשתמש בו כדי לסדר את האירועים.
- מסירת האירוע מתרחשת לפחות פעם אחת. המטא-נתונים של האירוע כוללים נתונים שאפשר להשתמש בהם כדי להסיר נתונים כפולים ביעד.
- גודל האירוע מוגבל ל-20MB לכל אירוע ביעדים של BigQuery ול-100MB לכל אירוע ביעדים של Cloud Storage.
מידע נוסף על אירועים זמין במאמר אירועים ושידורים.
זמינות גבוהה ותוכנית התאוששות מאסון (DR)
Datastream מספק זמינות גבוהה באזורים שונים ומנהל את תוכנית התאוששות מאסון (DR) במהלך הפסקות חשמל אזוריות:
זמינות גבוהה: Datastream הוא שירות אזורי שפועל בכמה אזורים בכל מחוז. כשל באזור יחיד באחד מהאזורים לא משפיע על הזמינות או על האיכות של השירות באזורים אחרים.
התאוששות מאסון: אם יש תקלה באזור מסוים, כל הסטרימינג שפועל באזור הזה לא זמין למשך זמן ההפסקה. אחרי שההפסקה הזמנית בשירות מסתיימת, Datastream ממשיך מהמקום שבו הוא הפסיק, וכל הנתונים שלא נכתבו ליעד מאוחזרים שוב מהמקור. במקרה כזה, יכול להיות שיהיו נתונים כפולים ביעד. במאמר העברת אירועים מוסבר איך להסיר נתונים כפולים.
נתונים ראשוניים ונתוני CDC
מקורות הנתונים מכילים נתונים שהיו קיימים לפני שהמקור התחבר ל-stream (נתונים היסטוריים), לכן Datastream יוצר אירועים גם מהנתונים ההיסטוריים וגם משינויים בנתונים שמתרחשים בזמן אמת.
כדי להבטיח גישה מהירה לנתונים, שינויים בנתונים היסטוריים ובנתונים בזמן אמת משוכפלים בו-זמנית ליעד. המטא-נתונים של האירוע מציינים אם האירוע הוא ממילוי חוסרים או מ-CDC.