מושגים ותכונות מרכזיים

התנהגות ותרחישים לדוגמה

Datastream מאפשר למשתמשים להעביר נתוני מקור ממערכת לניהול מסדי נתונים רלציוניים (RDBMS) וממקורות אחרים ליעדים כמו BigQuery, טבלאות Apache Iceberg ו-Cloud Storage, כמעט בזמן אמת. הנתונים האלה יכולים לשמש לתרחישי שימוש בהמשך, כמו טעינת הנתונים ל-BigQuery לצורך ניתוח ואחסון נתונים, או הרצת משימות Spark על הנתונים לתרחישי שימוש בבינה מלאכותית ולמידת מכונה.

מושגים

בקטע הזה מתוארים המושגים העיקריים שחשוב להכיר כדי להשתמש ב-Datastream בצורה יעילה.

סימון נתונים שהשתנו (CDC)

סימון נתונים שהשתנו (CDC) הוא קבוצה של דפוסי עיצוב תוכנה שמשמשים לקביעה (ולמעקב) של הנתונים שהשתנו, כדי שאפשר יהיה לבצע פעולה באמצעות הנתונים שהשתנו. ‫CDC היא גם גישה לשילוב נתונים שמבוססת על זיהוי, תיעוד והעברה של השינויים שבוצעו במקורות נתונים של הארגון.

Event sourcing

Event sourcing, שהוצג בשנת 2005, הוא דפוס עיצוב שבו כל שינוי במצב של אפליקציה מתועד באובייקט אירוע. באמצעות event sourcing, אפליקציה יכולה לבנות מחדש את המצב שלה, לבצע שחזור מערכת מנקודה מסוימת בזמן (PITR) (על ידי עיבוד האירוע עד לנקודה הזו), לחשב מחדש את המצב במקרה של שינוי בלוגיקה או להפעיל עיצוב של Command Query Responsibility Segregation (CQRS). בעקבות ההתפתחות של כלים לעיבוד אירועים בזמן אמת, הרבה אפליקציות עוברות למודל של מקורות אירועים. בעבר, מסדי נתונים טרנזקציוניים היו תמיד מבוססי-אירועים, בגלל הדרישות של אטומיות, עקביות, בידוד ועמידות (ACID).

מסדי נתונים בטרנזקציות

במסד נתונים טרנזקציוני, קבוצת הפעולות שמסד הנתונים עומד לבצע נכתבת בדרך כלל ביומן כתיבה מראש (WAL) לפני שמתבצעות פעולות במנוע האחסון. אחרי שפעולה מבוצעת במנוע האחסון ומתבצעת לה commit ב-WAL, הפעולה נחשבת להצלחה. השימוש ב-WAL מאפשר אטומיות ועמידות, וגם מאפשר שכפול ברמת דיוק גבוהה של מסד הנתונים. חלק ממסדי הנתונים יכתבו ביומן את הפעולה המדויקת שתתרחש ברמת האחסון (לדוגמה, write 0x41 on location 20), כך שניתן לשכפל (או לבצע מחדש) את הפעולות האלה רק במנוע האחסון הזה. במסדי נתונים אחרים יתועד משפט לוגי מלא (או שורה) שאפשר להפעיל מחדש במנוע אחסון אחר.

אירועים ושידורים

‫Datastream קולט הרבה נתונים כמעט בזמן אמת ממגוון מקורות, ומאפשר להשתמש בנתונים ביעד. יחידת הנתונים שמאוחסנת ב-Datastream היא אירוע. סטרים מייצג הטמעה רציפה של אירועים ממקור מסוים וכתיבה שלהם ביעד.

סוגים מאוחדים

למקורות נתונים יש סוגים משלהם, חלקם ספציפיים למסד הנתונים עצמו וחלקם גנריים ומשותפים למסדי נתונים שונים. יש הרבה מקורות שונים שמייצרים זרמים ליעד מאוחד, ולכן צריך להיות ייצוג סטנדרטי ומאוחד של סוג המקור המקורי בכל המקורות. הסוג המאוחד הוא דרך נפוצה וללא אובדן מידע לייצוג סוגי נתונים בכל המקורות, כך שאפשר לצרוך אותם בצורה עקבית. הסוגים המאוחדים שנתמכים על ידי Datastream מייצגים את קבוצת העל של כל הסוגים שעברו נרמול בכל מערכות המקור הנתמכות, כך שכל הסוגים יכולים להיות נתמכים ללא אובדן נתונים.

ההקשר של הישות

למקור הנתונים יש חמש ישויות:

  • הגדרות קישוריות פרטיות מאפשרות ל-Datastream לתקשר עם מקורות נתונים דרך חיבור מאובטח ופרטי לרשת. התקשורת הזו מתבצעת באמצעות קישור בין רשתות VPC שכנות (peering).
  • פרופילי חיבור מייצגים את פרטי הקישוריות למסד נתונים ספציפי של מקור או יעד.
  • שידורים מייצגים זוג של פרופיל חיבור למקור ופרופיל חיבור ליעד, יחד עם הגדרות ספציפיות לשידור.
  • אובייקטים מייצגים חלק משני של סטרימינג. לדוגמה, למקור נתונים של מסד נתונים יש אובייקט נתונים לכל טבלה שמועברת בסטרימינג.
  • אירועים מייצגים כל שינוי בשפת טיפול בנתונים (DML) עבור אובייקט נתון.

אחרי יצירת הגדרת קישוריות פרטית, אפשר להתחבר למקורות שמתארחים ב- Google Cloud או במקומות אחרים דרך ערוץ תקשורת פרטי. קישוריות פרטית היא אופציונלית, ו-Datastream תומך גם במצבי קישוריות אחרים ברשתות ציבוריות.

אחרי שיוצרים פרופיל קישור למקור וליעד, אפשר ליצור מקורות נתונים שמשתמשים במידע שמאוחסן בפרופילי הקישור כדי להעביר נתונים מהמקור ליעד.

אחרי יצירת מקור נתונים, Datastream מתחבר ישירות למקור, צורך תוכן, ואז מעבד את האירועים וכותב אותם ליעד על סמך מבנה האירוע.

אפשר לנהל בנפרד את ההגדרות של קישוריות פרטית ואת פרופילי החיבור כדי להשתמש בהם שוב.

תכונות

התכונות של Datastream כוללות:

  • בלי שרת (serverless): אפשר להגדיר מקור נתונים והנתונים מתחילים לזרום. אין עלויות תקורה של התקנה, הקצאת משאבים או תחזוקה. ככל שנפחי הנתונים גדלים וקטנים, יכולות ההתאמה האוטומטית לעומס של Datastream מקצות משאבים כדי שהנתונים ימשיכו לזרום כמעט בזמן אמת, באופן אוטומטי.
  • סכימת סוגים מאוחדת שמבוססת על Avro:‏ Datastream מאפשר עיבוד ללא תלות במקור, על ידי המרה של כל סוגי הנתונים הספציפיים למקור לסכימת סוגים מאוחדת של Datastream, שמבוססת על סוגי Avro.
  • הזרמת נתונים היסטוריים ונתוני CDC: Datastream מזרים נתונים היסטוריים ונתוני CDC ממקורות שונים כמעט בזמן אמת, בו-זמנית.
  • Oracle CDC ללא רישיונות נוספים: Datastream מספקת סטרימינג של CDC מבוסס-LogMiner מכל גרסת מקור של Oracle מגרסה 11.2g ואילך, בלי לשלם על רישיונות נוספים או על התקנות תוכנה.

  • יעד BigQuery: השינויים במקור משוכפלים באופן רציף לטבלאות BigQuery כמעט בזמן אמת. הנתונים ב-BigQuery זמינים לניתוח כמעט באופן מיידי.

  • יעד ב-Cloud Storage: נתוני CDC נכתבים באופן רציף לקובצי Avro או JSON עם תיאור עצמי ב-Cloud Storage. אפשר להשתמש במידע הזה לעיבוד נוסף, ישירות במקום או על ידי טעינה במורד הזרם ליעד אחר כמו Spanner.

  • ניהול מטא-נתונים מרכזי באמצעות Knowledge Catalog: משאבי Datastream, כמו סטרימינג, פרופילי חיבור והגדרות קישוריות, מסתנכרנים אוטומטית עם Knowledge Catalog. כך תוכלו לחפש את הנכסים האלה ולעיין בהם ישירות בממשק המשתמש של Knowledge Catalog.

תרחישים לדוגמה

יש שלושה תרחישים עיקריים לשימוש ב-Datastream:

  • שילוב נתונים: אפשר לטעון נתונים ל-BigQuery כדי להזין נתונים לצינור שילוב נתונים כמעט בזמן אמת, מזרמי נתונים ממסדי נתונים וממשקי תוכנה כשירות (SaaS) בענן.
  • ניתוח נתונים בזמן אמת: שינויים במסדי נתונים מוטמעים בצינורות עיבוד נתונים בזמן אמת, למשל באמצעות Dataflow, לצורך זיהוי הונאות, עיבוד אירועי אבטחה וזיהוי אנומליות.
  • זמינות של שינויים בנתונים כמעט בזמן אמת: זמינות של שינויים בנתונים כמעט בזמן אמת מאפשרת ליישומים של בינה מלאכותית ולמידת מכונה למנוע נטישה או להגביר את האינטראקציה באמצעות מאמצי שיווק או באמצעות משוב למערכות ייצור.

סקירה כללית על התנהגות

בעזרת Datastream, הלקוחות יכולים להזרים שינויים שמתרחשים באופן שוטף ממקורות נתונים שונים ישירות אל Google Cloud.

מקורות

  • כדי להשתמש במקור נתונים עם Datastream, צריך לבצע הגדרות, כולל אימות ואפשרויות הגדרה נוספות.
  • כל מקור יוצר אירועים שמשקפים את כל השינויים בשפת טיפול בנתונים (DML).
  • כל זרם יכול לבצע מילוי חוזר של נתונים היסטוריים, וגם להזרים שינויים שוטפים ליעד.

יעדים

‫Datastream תומך ב-BigQuery, בטבלאות Apache Iceberg וב-Cloud Storage כיעדים. כשיוצרים את הזרם, מגדירים את הגדרות היעד שלו.

העברת אירועים

  • סדר האירועים לא מובטח. מטא-נתונים של אירועים כוללים מידע שאפשר להשתמש בו כדי לסדר את האירועים.
  • העברת האירוע מתרחשת לפחות פעם אחת. מטא-נתונים של אירועים כוללים נתונים שאפשר להשתמש בהם כדי להסיר נתונים כפולים ביעד.
  • גודל האירוע מוגבל ל-20MB לכל אירוע ביעדי BigQuery ול-100MB לכל אירוע ביעדי Cloud Storage.

מידע נוסף על אירועים זמין במאמר אירועים וזרמים.

זמינות גבוהה ותוכנית התאוששות מאסון (DR)

בקטע הזה מוסבר איך Datastream מטפל בתרחישים שקשורים לזמינות גבוהה ולתוכנית התאוששות מאסון (DR).

  • זמינות גבוהה: Datastream הוא שירות אזורי שפועל בכמה אזורים בכל אזור. כשל באזור יחיד באזור כלשהו לא משפיע על הזמינות או האיכות של השירות באזורים אחרים.

  • תוכנית התאוששות מאסון: אם יש כשל באזור מסוים, כל הסטרימינג שפועל באזור הזה יושבת למשך ההשבתה. אחרי שההפסקה תסתיים, Datastream ימשיך בדיוק מהמקום שבו הוא הפסיק, וכל הנתונים שלא נכתבו ליעד יאוחזרו שוב מהמקור. במקרה כזה, יכול להיות שיהיו כפילויות של נתונים ביעד. מידע נוסף על הסרת הנתונים הכפולים זמין במאמר בנושא שליחת אירועים.

נתונים ראשוניים ונתוני CDC

מקורות נתונים מכילים נתונים שהיו קיימים לפני הזמן שבו המקור חובר לזרם (נתונים היסטוריים). לכן, Datastream יוצר אירועים גם מהנתונים ההיסטוריים וגם משינויים בנתונים שמתרחשים בזמן אמת.

כדי להבטיח גישה מהירה לנתונים, השינויים בנתונים ההיסטוריים ובנתונים בזמן אמת משוכפלים בו-זמנית ליעד. המטא-נתונים של האירוע מציינים אם האירוע הגיע מהמילוי החסר או מה-CDC.

המאמרים הבאים