הזרמת נתונים ממסדי נתונים של MongoDB

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

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

מונחי מפתח

אלה המונחים העיקריים שצריך להבין כשעובדים עם מקורות MongoDB:

  • חיבור SRV: מחרוזת חיבור עם שם מארח שתואם לרשומת שירות (SRV) של שירות שם דומיין (DNS). המחרוזת היא בפורמט הבא:

    mongodb+srv://[username:password@]host[/[defaultauthdb][?options]]

    מידע נוסף זמין במאמרי העזרה של MongoDB.

  • מחרוזת חיבור רגילה: הפורמט הרגיל של ה-URI לחיבור ל-MongoDB, שמשמש לחיבור לפריסה עצמאית, למערך רפליקות או לאשכול מקוטע של MongoDB באירוח עצמי. הפורמט של המחרוזת הוא:

    mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]

    מידע נוסף זמין במאמרי העזרה של MongoDB.

  • קבוצת רפליקות: אשכול של שרתי MongoDB שמטמיע רפליקציה ויתירות כשל אוטומטית. קבוצות רפליקות מספקות יתירות וזמינות גבוהה, והן הבסיס לכל פריסות הייצור.

  • אשכול עם פיצול אופקי (sharded): אשכול עם פיצול אופקי של MongoDB מורכב מפיצולים אופקיים, מ-mongos ומשרתי הגדרות. ב-MongoDB, הנתונים מחולקים לרסיסים ברמת האוסף, והנתונים של האוסף מופצים בין הרסיסים באשכול.

  • ‫mongos: הממשק בין אפליקציות הלקוח לבין אשכול ה-sharded. mongos פועלים כנתבי שאילתות וכותבים פעולות למקטעים.

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

התנהגות

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

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

גרסאות

‫Datastream תומך בגרסאות MongoDB מתקדמות יותר מ-5.0.

מגבלות ידועות

המגבלות הידועות בשימוש ב-MongoDB כמקור כוללות:

  • כשמשתמשים ב-Datastream API, אפשר לציין רק את השדות שרוצים להחריג בסטרימינג. אי אפשר לציין רשימת הכללה לשדות.
  • במצב קפדני אין תמיכה בערכים המספריים Infinity,‏ -Infinity ו-NaN. מסמכים נמחקים אם הם מכילים את הערכים האלה במצב קפדני. אם מסד הנתונים מכיל את הערכים האלה, צריך להשתמש במצב קנוני (ברירת המחדל). למידע נוסף, קראו את המאמר סוגי נתונים של MongoDB.
  • ‫Datastream לא תומך ב-Azure Cosmos DB שמבוסס על יחידות בקשה (RU).
  • ‫Datastream לא תומך ב-Amazon DocumentDB Elastic Clusters.
  • ‫Datastream לא משכפל אירועי שינוי מאוספי סדרות זמן של MongoDB, כי MongoDB לא תומך בסנכרון שינויים בזרמי נתונים באוספים האלה. ‫Datastream ממלא רק אוספים של סדרות זמן, ולא משכפל הוספות, עדכונים או מחיקות שבוצעו אחרי המילוי.

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