התנהגות ותרחישי שימוש
Datastream מאפשר לכם להטמיע נתוני מקור ממערכת לניהול מסדי נתונים רלציוניים (RDBMS) וממקורות אחרים ביעדים כמו BigQuery, טבלאות Apache Iceberg ו-Cloud Storage, כמעט בזמן אמת. התכונה הזו מאפשרת להשתמש בנתונים בתרחישים שונים, כמו טעינת נתונים ל-BigQuery לצורך ניתוח ואחסון נתונים, או הפעלת משימות של Apache Spark על הנתונים לצורך בינה מלאכותית ועומסי עבודה של למידת מכונה.
מושגים
בקטע הזה מתוארים המושגים העיקריים שחשוב להכיר כדי להשתמש ב-Datastream בצורה יעילה.
סימון נתונים שהשתנו (CDC)
סימון נתונים שהשתנו (CDC) הוא קבוצה של דפוסי עיצוב תוכנה שמשמשים לקביעה ולמעקב אחרי נתונים שהשתנו, כדי שאפליקציות יוכלו לעבד את העדכונים. CDC היא גם גישה לשילוב נתונים שמבוססת על זיהוי, תיעוד והעברה של שינויים שבוצעו במקורות נתונים של הארגון.
Event sourcing
תבנית העיצוב event sourcing מתעדת כל שינוי במצב של אפליקציה באובייקט אירוע. באמצעות event sourcing, אפליקציה יכולה לבנות מחדש את המצב שלה, לבצע שחזור מערכת מנקודה מסוימת בזמן (PITR) (על ידי עיבוד אירועים עד לנקודה הזו), לחשב מחדש את המצב כשמשתנה הלוגיקה העסקית או להפעיל ארכיטקטורה של Command Query Responsibility Segregation (CQRS). עם התפתחות הכלים לעיבוד אירועים בזמן אמת, הרבה אפליקציות משתמשות במודל של מקורות אירועים. מסדי נתונים בטרנזקציות הם מטבעם מונחי-אירועים, כדי לעמוד בדרישות של אטומיות, עקביות, בידוד ועמידות (ACID).
מסדי נתונים בטרנזקציות
במסד נתונים טרנזקציוני, קבוצת הפעולות שמסד הנתונים מבצע נכתבת בדרך כלל ביומן כתיבה מראש (WAL) לפני שמופעלות פעולות במנוע האחסון. אחרי שפעולה מבוצעת במנוע האחסון ומתבצעת לה הקצאה ל-WAL, הפעולה נחשבת למוצלחת. שימוש ב-WAL מאפשר אטומיות ועמידות, וגם שכפול באיכות גבוהה של מסד הנתונים. חלק ממסדי הנתונים כותבים ביומן את הפעולה המדויקת שמתרחשת ברמת האחסון (לדוגמה, write 0x41 at location 20), ולכן אפשר לשכפל את הפעולות האלה רק באותו מנוע אחסון. במסדי נתונים אחרים מתבצעת רישום ביומן של הצהרה לוגית מלאה (או שורה) שאפשר להפעיל מחדש במנוע אחסון אחר.
אירועים ושידורים
Datastream קולט כמויות גדולות של נתונים כמעט בזמן אמת ממגוון מקורות, ומאפשר להשתמש בנתונים ביעד. יחידת הנתונים שמאוחסנת על ידי Datastream היא אירוע. סטרים מייצג הטמעה רציפה של אירועים ממקור מסוים וכתיבה שלהם ליעד.
סוגים מאוחדים
למקורות נתונים יש סוגי נתונים משלהם – חלקם ספציפיים למסד הנתונים עצמו, וחלקם כלליים ומשותפים בין מסדי נתונים. מכיוון שמקורות מרובים יוצרים זרמים ליעד מאוחד, נדרש ייצוג סטנדרטי של סוג המקור המקורי בכל המקורות. הסוג המאוחד הוא ייצוג נפוץ של סוגי נתונים בכל המקורות, ללא אובדן נתונים, כך שאפשר להשתמש בנתונים באופן עקבי. הסוגים המאוחדים שנתמכים על ידי Datastream מייצגים את קבוצת העל של כל הסוגים המנורמלים בכל מערכות המקור הנתמכות.
ההקשר של הישות
מקור הנתונים מכיל חמש ישויות:
- הגדרות קישוריות פרטיות מאפשרות ל-Datastream לתקשר עם מקורות נתונים דרך חיבור מאובטח ופרטי לרשת. התקשורת הזו מתבצעת באמצעות קישור בין רשתות VPC שכנות (peering).
- פרופילי חיבור מייצגים מידע על קישוריות למסד נתונים ספציפי של מקור או יעד.
- Streams מייצגים זוג של פרופילים של חיבור מקור ויעד, יחד עם הגדרות ספציפיות ל-Stream.
- אובייקטים מייצגים חלק מזרם. לדוגמה, למקור נתונים של מסד נתונים יש אובייקט נתונים לכל טבלה שמועברת בסטרימינג.
- אירועים מייצגים כל שינוי בשפת טיפול בנתונים (DML) עבור אובייקט נתון.
אחרי שיוצרים הגדרת קישוריות פרטית, אפשר להתחבר למקורות שמתארחים ב- Google Cloud או במקומות אחרים דרך ערוץ תקשורת פרטי. הקישוריות הפרטית היא אופציונלית. בנוסף, Datastream תומך במצבי קישוריות אחרים ברשתות ציבוריות.
אחרי שיוצרים פרופיל קישור למקור וליעד, אפשר ליצור מקורות נתונים שמשתמשים במידע שמאוחסן בפרופילי הקישור כדי להעביר נתונים מהמקור ליעד.
אחרי שיוצרים מקור נתונים, Datastream מתחבר ישירות למקור, צורך תוכן ואז מעבד וכותב אירועים ליעד על סמך מבנה האירוע.
אפשר לנהל את הגדרות הקישוריות הפרטית ואת פרופילי החיבור בנפרד מהסטרימינג, כדי שאפשר יהיה להשתמש בהם שוב.
תכונות
התכונות של Datastream כוללות:
- ללא שרת: מגדירים מקור נתונים והנתונים מתחילים לעבור. אין צורך בהתקנה, בהקצאת משאבים או בתחזוקה. כשהנפח של הנתונים משתנה, היכולות של Datastream להתאמה אוטומטית לעומס (autoscaling) מקצות משאבים באופן אוטומטי כדי שהנתונים ימשיכו לזרום כמעט בזמן אמת.
- סכימת סוגים מאוחדת שמבוססת על 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: משאבים של מקורות נתונים, כמו מקורות נתונים, פרופילי חיבור והגדרות קישוריות, מסונכרנים אוטומטית עם Knowledge Catalog. כך תוכלו לחפש את הנכסים האלה ולעיין בהם ישירות בממשק המשתמש של Knowledge Catalog.
תרחישים לדוגמה
יש שלושה תרחישים עיקריים לשימוש ב-Datastream:
- שילוב נתונים: אפשר לטעון נתונים ל-BigQuery כדי להזין צינור לעיבוד נתונים כמעט בזמן אמת, שכולל נתונים ממסדי נתונים ומתוכנות כשירות (SaaS) בשירותי ענן.
- ניתוח נתונים בזמן אמת: שינויים במסדי נתונים מוזנים לצינורות (pipelines) של נתונים בזמן אמת שמשתמשים ב-Dataflow כדי לזהות הונאות, לעבד אירועי אבטחה ולזהות אנומליות.
- זמינות של שינויים בנתונים כמעט בזמן אמת: הזמינות של שינויים בנתונים כמעט בזמן אמת מאפשרת לאפליקציות של בינה מלאכותית ולמידת מכונה למנוע נטישה או להגדיל את רמת המעורבות באמצעות קמפיינים שיווקיים או באמצעות העברת נתונים בחזרה למערכות ייצור.
סקירה כללית על התנהגות
Datastream מאפשר לכם להזרים שינויים שמתרחשים באופן שוטף ממקורות נתונים מרובים ישירות אל Google Cloud.
מקורות
- לפני שמשתמשים במקור עם Datastream, צריך להגדיר אימות ואפשרויות נוספות של המקור.
- כל מקור יוצר אירועים שמשקפים את כל השינויים בשפת טיפול בנתונים (DML).
- כל מקור נתונים יכול למלא נתונים היסטוריים ולשדר שינויים שוטפים ליעד.
יעדים
Datastream תומך ב-BigQuery, בטבלאות Apache Iceberg וב-Cloud Storage כיעדים. כשיוצרים זרם, מגדירים את הגדרות היעד שלו.
העברת אירועים
- סדר האירועים לא מובטח. מטא-נתונים של אירועים כוללים מידע שאפשר להשתמש בו כדי לסדר את האירועים.
- העברת האירוע מתרחשת לפחות פעם אחת. מטא-נתונים של אירועים כוללים נתונים שאפשר להשתמש בהם כדי להסיר נתונים כפולים ביעד.
- גודל האירוע מוגבל ל-20MB לכל אירוע ביעדי BigQuery ול-100MB לכל אירוע ביעדי Cloud Storage.
מידע נוסף על אירועים זמין במאמר אירועים וזרמים.
זמינות גבוהה ותוכנית התאוששות מאסון (DR)
Datastream מספק זמינות גבוהה באזורים שונים ומנהל את תוכנית התאוששות מאסון (DR) במהלך הפסקות חשמל אזוריות:
זמינות גבוהה: Datastream הוא שירות אזורי שפועל בכמה אזורים בכל אזור. כשל באזור יחיד באחד מהאזורים לא משפיע על הזמינות או האיכות של השירות באזורים אחרים.
תוכנית התאוששות מאסון (DR): אם יש כשל באזור מסוים, כל הסטרימינג שפועל באזור הזה לא יהיה זמין למשך ההשבתה. אחרי שההפסקה הזמנית בשירות מסתיימת, Datastream ממשיך מהמקום שבו הוא הפסיק, וכל הנתונים שלא נכתבו ליעד מאוחזרים שוב מהמקור. במקרה כזה, יכול להיות שיהיו נתונים כפולים ביעד. מידע על הסרת נתונים כפולים זמין במאמר בנושא שליחת אירועים.
נתונים ראשוניים ונתוני CDC
מקורות נתונים מכילים נתונים שהיו קיימים לפני שהמקור התחבר לזרם (נתונים היסטוריים), ולכן Datastream יוצר אירועים גם מהנתונים ההיסטוריים וגם משינויים בנתונים שמתרחשים בזמן אמת.
כדי להבטיח גישה מהירה לנתונים, שינויים בנתונים היסטוריים ובנתונים בזמן אמת משוכפלים בו-זמנית ליעד. המטא-נתונים של האירוע מציינים אם האירוע הוא מילוי חוסרים או מ-CDC.