מעבר ל-Firestore עם תאימות ל-MongoDB

במדריך הזה מוסבר איך להעביר את מסד הנתונים שלכם, שתואם ל-MongoDB, למסד נתונים של Firestore שתואם ל-MongoDB, עם השבתה מינימלית.

מידע על תהליך ההעברה

תהליך ההעברה כולל את השלבים הבאים:

  1. הכנה: יוצרים את המשאבים שנדרשים להעברה ומגדירים משתני סביבה שישמשו להרצת פקודות בשלבים מאוחרים יותר בתהליך ההעברה.

  2. ייבוא ממסד נתונים תואם ל-MongoDB: משתמשים בשירות Datastream כדי לתעד את התוכן של מסד נתונים תואם ל-MongoDB ולהעביר אותו לקטגוריה של Cloud Storage.

  3. כתיבת נתונים ל-Firestore עם מסד נתונים שתואם ל-MongoDB: משתמשים בשירות Dataflow כדי להעביר נתונים מקטגוריית Cloud Storage למסד נתונים של Firestore שתואם ל-MongoDB.

    צינור עיבוד הנתונים הזה של Dataflow יפעל במקביל למקור הנתונים של Datastream ששולף נתונים ממסד הנתונים התואם ל-MongoDB.

  4. העברת התנועה אל Firestore: בשלב המתאים בתהליך, מעבירים את תנועת הקריאה והכתיבה של האפליקציה אל מסד הנתונים של Firestore עם תאימות ל-MongoDB, ומפסיקים את צינור ההעברה.

בתרשים הבא מסוכם תהליך ההעברה:

ארכיטקטורה של העברת נתונים בסטרימינג

מסד הנתונים של המקור שתואם ל-MongoDB נשאר במצב פעיל בזמן העברת הנתונים:

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

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

שלבים מפורטים להעברה

בקטע הזה נסביר על המיגרציה בפירוט רב יותר.

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

  1. יוצרים פרופיל חיבור של מקור נתונים למקור Mongo. ההוראות הספציפיות תלויות בסוג ובאופן הפריסה של המקור שתואם ל-MongoDB.

  2. יוצרים קטגוריה ב-Cloud Storage שתקבל את הנתונים ואת אירועי השינוי ממסד הנתונים התואם ל-MongoDB.

  3. יוצרים פרופיל חיבור של יעד Datastream שמשתמש בקטגוריה הזו של Cloud Storage.

  4. יוצרים ומפעילים זרם Datastream שמקשר בין פרופיל החיבור של המקור לבין פרופיל החיבור של היעד.

  5. מפעילים צינור Dataflow כדי להתחיל להחדיר את הנתונים שתועדו למסד הנתונים שלכם ב-Firestore עם תאימות ל-MongoDB.

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

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

  8. מפעילים תנועת כתיבה למסד הנתונים של Firestore עם תאימות ל-MongoDB.

מידע על דוגמאות קוד

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

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

מגבלות

לפני שמתחילים, כדאי לעיין בההבדלים בין Firestore עם תאימות ל-MongoDB לבין MongoDB. חשוב לשים לב במיוחד לנקודות הבאות:

אם יש לכם נתונים שלא עומדים בהגבלות בקטגוריות שלמעלה:

  • מומלץ לטפל בתנאים האלה במערך הנתונים לפני שמתחילים בתהליך ההעברה.

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

הדרישות לשימוש ב-Datastream:

  • הגרסה המינימלית של MongoDB שנתמכת על ידי Datastream היא 4.0. יש גרסאות תיקון מינימליות נתמכות לחלק מהגרסאות המשניות:

    • ‫4.0.X לגרסת תיקון X ‏ >= 21
    • ‫4.2.X לגרסת תיקון X >= 10
    • ‫4.4.X לגרסת תיקון X ‏ >= 2
  • אשכול MongoDB צריך לתמוך ב-Change Streams. כדי להפעיל את Change Streams, צריך להגדיר את פריסת MongoDB כקבוצת שכפול או כאוסף נתונים מחולק.

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

עוברים אל הגדרת משאבים להעברה.