البرنامج التعليمي: ترحيل MongoDB إلى Azure Cosmos DB ل MongoDB RU عبر الإنترنت باستخدام خدمة ترحيل قاعدة بيانات Azure

ينطبق على: MongoDB

هام

يُرجى قراءة هذا الدليل بأكمله قبل تنفيذ خطوات الترحيل. لا تدعم خدمة ترحيل قاعدة بيانات Azure حاليا عمليات الترحيل إلى Azure Cosmos DB لحساب MongoDB vCore.

يمثل دليل ترحيل MongoDB هذا جزءًا من سلسلة ترحيل MongoDB. تشمل خطوات ترحيل نظام MongoDB الأساسية ما قبل الترحيلوالترحيل وما بعد الترحيلحسبما هو موضح أدناه.

Diagram of migration steps.

نظرة عامة حول ترحيل البيانات عبر الإنترنت من MongoDB إلى Azure Cosmos DB باستخدام DMS

يمكنك استخدام Azure Database Migration Service لإجراء ترحيل عبر الإنترنت (الحد الأدنى من وقت التعطل) لقواعد البيانات من مثيل محلي أو سحابي من MongoDB إلى Azure Cosmos DB ل MongoDB.

يوضح هذا البرنامج التعليمي الخطوات المقترنة باستخدام خدمة Azure Database Migration Service لترحيل بيانات MongoDB إلى Azure Cosmos DB:

  • إنشاء مثيل لخدمة Azure Database Migration Service.
  • إنشاء مشروع ترحيل.
  • تحديد المصدر.
  • تحديد الهدف.
  • تعيين قواعد بيانات الهدف.
  • تشغيل الترحيل.
  • مراقبة الترحيل.
  • التحقق من البيانات في Azure Cosmos DB.
  • استكمال الترحيل عند الاستعداد.

في هذا البرنامج التعليمي، يمكنك ترحيل مجموعة بيانات في MongoDB المستضافة في جهاز ظاهري Azure إلى Azure Cosmos DB ل MongoDB بأقل وقت تعطل عبر Azure Database Migration Service. إذا لم يكن لديك مصدر MongoDB تم إعداده بالفعل، فشاهد تثبيت MongoDB وتكوينه على جهاز ظاهري يعمل بنظام Windows في Azure.

إشعار

يتطلب استخدام Azure Database Migration Service للقيام بالترحيل عبر الإنترنت إنشاء مثيل استنادًا إلى Premium pricing tier.

هام

للحصول على تجربة ترحيل مثالية، توصي Microsoft بإنشاء مثيل لـ Azure Database Migration Service في نفس منطقة Azure مثل قاعدة البيانات الخاصة بالهدف. يمكن أن يؤدي نقل البيانات عبر الأماكن أو المناطق الجغرافية إلى إبطاء عملية الترحيل.

تلميح

في Azure Database Migration Service، يمكنك ترحيل قواعد البيانات الخاصة بك دون اتصال أو أثناء اتصالها بالإنترنت. في الترحيل دون اتصال بالإنترنت ، يبدأ وقت تعطل التطبيق عند بدء الترحيل. للحد من وقت التعطل إلى الوقت الذي يستغرقه الانتقال إلى البيئة الجديدة بعد الترحيل، استخدم الترحيل عبر الإنترنت . نوصي باختبار الترحيل دون اتصال لتحديد ما إذا كان وقت التعطل مقبولا أم لا. إذا لم يكن وقت التعطل المتوقع مقبولا، فقم بالترحيل عبر الإنترنت.

توضح هذه المقالة ترحيل عبر الإنترنت من MongoDB إلى Azure Cosmos DB ل MongoDB. للترحيل دون اتصال، راجع ترحيل MongoDB إلى Azure Cosmos DB ل MongoDB دون اتصال باستخدام DMS.

المتطلبات الأساسية

لإكمال هذا البرنامج التعليمي، تحتاج إلى:

  • استكمال خطوات ما قبل الترحيل كتقدير معدل النقل واختيار مفتاح التقسيم وسياسة الفهرسة.

  • أنشئ Azure Cosmos DB لحساب MongoDB وتأكد من تمكين SSR (إعادة المحاولة من جانب الخادم).

    إشعار

    DMS غير مدعوم حاليا إذا كنت تقوم بالترحيل إلى Azure Cosmos DB لحساب MongoDB المقدم مع وضع بلا خادم.

  • إنشاء شبكة Microsoft Azure الظاهرية لخدمة Azure Database Migration Service باستخدام نموذج توزيع Azure Resource Manager الذي يوفر اتصال موقع إلى موقع إلى الخوادم المصدر المحلية باستخدام ExpressRoute أو VPN.

    إشعار

    في أثناء إعداد الشبكة الظاهرية، في حال كنت تستخدم ExpressRoute مع شبكة الاتصال النظير لـ Microsoft، قم بإضافةنقاط نهاية الخدمة التالية إلى الشبكة الفرعية التي سيتم توفير الخدمة فيها:

    • نقطة نهاية قاعدة البيانات الهدف (على سبيل المثال، نقطة نهاية SQL ونقطة نهاية Azure Cosmos DB وما إلى ذلك)
    • نقطة نهاية التخزين
    • نقطة نهاية ناقل الخدمة

    هذا التكوين ضروري لأن Azure Database Migration Service تفتقر إلى الاتصال بالإنترنت.

  • تأكد من أن قواعد مجموعة أمان الشبكة (NSG) الخاصة بالشبكة الظاهرية لا تمنع منافذ الاتصال التالية: 53 و443 و445 و9354 و10000-20000. لمزيد من التفاصيل عن تصفية نسبة استخدام الشبكة للشبكة الظاهرية الخاصة بمجموعة أمان الشبكة (NSG)، راجع مقالتصفية نسبة استخدام الشبكة باستخدام مجموعات أمان الشبكة.

  • افتح جدار حماية Windows للسماح لخدمة Azure Database Migration Service بالوصول إلى خادم MongoDB المصدر، والذي يكون منفذ TCP 27017 بشكل افتراضي.

  • عند استخدام جهاز جدار حماية أمام قاعدة (قواعد) البيانات المصدر، قد تحتاج إلى إضافة قواعد جدار الحماية للسماح لخدمة Azure Database Migration Service بالوصول إلى قاعدة (قواعد) البيانات المصدر للترحيل.

تكوين Server Side Retries لقاعدة Azure Cosmos DB لإجراء ترحيل كفء

يستفيد العملاء القائمون بترحيل البيانات من قاعدة بيانات MongoDB إلى قاعدة بيانات Azure Cosmos DB من قدرات إدارة الموارد، والتي تضمن القدرة على الاستفادة الكاملة من وحدات الطلب RU/s المقدمة لمعدل النقل. يمكن أن ترفض قاعدة بيانات Azure Cosmos DB أي طلب من Data Migration Service في أثناء الترحيل إذا تجاوز هذا الطلب وحدات طلب RU/s الحاوية المقدمة، وحينها يُشترط إعادة محاولة تقديم الطلب. خدمة ترحيل البيانات قادرة على إجراء عمليات إعادة المحاولة، ولكن وقت الإرسال ثم التلقي المضمن في مركز الشبكة بين خدمة Data Migration Service وAzure Cosmos DB يؤثر على وقت الاستجابة الإجمالي لهذا الطلب. يمكن أن يؤدي تحسين وقت الاستجابة للطلبات المقيدة إلى تقصير إجمالي الوقت اللازم للترحيل. تسمح ميزة Server Side Retry من Azure Cosmos DB للخدمة باعتراض الرموز الخاطئة التي تعطل الطلب ثم تعيد المحاولة خلال وقت أقل بكثير ذهاباً وإياباً، مما يحسن أوقات استجابة الطلب بشكل كبير.

يمكنك العثور على إمكانية إعادة المحاولة الجانبية للخادم في خيارFeatures بمدخل قاعدة بيانات Azure Cosmos DB

Screenshot of MongoDB Server-Side Retry feature.

وإذا كانت هذه الميزة معطلة، نوصيك بتفعيلها حسبما هو موضح أدناه

Screenshot of MongoDB Server-Side Retry enable.

تسجيل موفر الموارد

قم بتسجيل موفر موارد Microsoft.DataMigration قبل إنشاء المثيل الأول لخدمة ترحيل قاعدة البيانات.

  1. سجل الدخول إلى مدخل Azure. ابحث عن الاشتراكات وحددها.

    Show portal subscriptions

  2. حدد الاشتراك الذي تريد إنشاء مثيل لـ Azure Database Migration Service فيه، ثم حدد موفرو الموارد .

    Show resource providers

  3. ابحث عن الترحيل، ثم حدد تسجيل لـ Microsoft.DataMigration .

    Register resource provider

إنشاء مثيل

  1. في مدخل Azure، حدد + Create a resource، وابحث عن خدمة ترحيل قاعدة بيانات Azure ثم حدد Azure Database Migration Service من القائمة المنسدلة.

    Azure Marketplace

  2. في شاشة Azure Database Migration Service، حدد Create.

    Create Azure Database Migration Service instance

  3. في شاشة إنشاء خدمة ترحيل، حدد اسما للخدمة والاشتراك ومجموعة موارد جديدة أو موجودة.

  4. حدد الموقع الذي تريد إنشاء مثيل لـAzure Database Migration Service فيه.

  5. حدد شبكة ظاهرية موجودة أو أنشئ شبكة جديدة.

    توفر الشبكة الظاهرية خدمة Azure Database Migration Service مزودة بالوصول إلى مثيل MongoDB المصدر وحساب Azure Cosmos DB الهدف.

    لمزيدٍ من المعلومات عن كيفية إنشاء شبكة ظاهرية في مدخل Azure، راجع المقال إنشاء شبكة ظاهرية باستخدام مدخل Azure.

  6. حدد «SKU» من مستوى التسعير «Premium».

    إشعار

    يتم دعم عمليات الترحيل عبر الإنترنت فقط عند استخدام مستوى Premium. لمزيد من المعلومات عن التكاليف ومستويات التسعير، راجع صفحة التسعير.

    Configure Azure Database Migration Service instance settings

  7. حدد Create لإنشاء الخدمة.

قم بإنشاء مشروع ترحيل.

بعد إنشاء الخدمة، حدد موقعها داخل مدخل Microsoft Azure، وافتحها، ثم أنشئ مشروع ترحيل جديد.

  1. في مدخل Azure، حدد All services وابحث عن خدمة Azure Database Migration Service، ثم حدد Azure Database Migration Services.

    Locate all instances of Azure Database Migration Service

  2. في شاشة Azure Database Migration Services ، ابحث عن اسم مثيل Azure Database Migration Service الذي أنشأته، ثم حدد المثيل.

    بدلاً من ذلك، يمكنك اكتشاف مثيل خدمة Azure Database Migration Service من جزء البحث في مدخل Microsoft Azure.

    Use the Search pane in the Azure portal

  3. حدد + New Migration Project.

  4. في شاشة مشروع ترحيل جديد، حدد اسما للمشروع، وفي مربع النص نوع الخادم المصدر، حدد MongoDB، وفي مربع النص نوع الخادم الهدف، حدد Azure Cosmos DB ل MongoDB، ثم لاختيار نوع النشاط، حدد ترحيل البيانات عبر الإنترنت [معاينة].

    Create Database Migration Service project

  5. حدد Save، ثم حدد Create and run activity لإنشاء المشروع وتشغيل نشاط الترحيل.

قم بتحديد تفاصيل المصدر.

  1. في شاشة Source details ، حدد تفاصيل الاتصال لخادم MongoDB المصدر.

    هام

    خدمة Azure Database Migration Service لا تدعم Azure Cosmos DB كمصدر.

    ثمة ثلاثة أوضاع للاتصال بأحد المصادر:

    • الوضع القياسي، الذي يقبل اسم مجال مؤهل بالكامل أو عنوان IP ورقم المنفذ وبيانات اعتماد الاتصال.

    • الاتصال وضع سلسلة، الذي يقبل سلسلة mongoDB الاتصال ion كما هو موضح في المقالة الاتصال Ion String URI Format.

    • البيانات من تخزين Azure، والتي تقبل عنوان URL ل SAS لحاوية كائن ثنائي كبير الحجم. حدد Blob contains BSON dumps إذا كانت حاوية الكائن الثنائي كبير الحجم تحتوي على تفريغ BSON تنتجه أداة bsondump MongoDB، وقم بإلغاء تحديدها إذا كانت الحاوية تحتوي على ملفات JSON.

      إذا قمت بتحديد هذا الخيار، فتأكد من ظهور سلسلة اتصال حساب التخزين بالتنسيق التالي:

      https://blobnameurl/container?SASKEY
      

      أيضًا، استنادًا إلى نوع تفريغ المعلومات في Azure Storage، ضع التفاصيل التالية في الاعتبار.

      • بالنسبة إلى تفريغ BSON dumps، يجب أن تكون البيانات الموجودة في حاوية blob بتنسيق bsondump بحيث يتم وضع ملفات البيانات في مجلدات مسماة بعد قواعد البيانات التي تحتوي على تنسيق collection.bson. يجب تسمية ملفات بيانات التعريف (إن وجدت) باستخدام format collection.metadata.json.

      • بالنسبة إلى تفريغ JSON dumps، يجب وضع الملفات الموجودة في حاوية blob في المجلدات المسماة بعد قواعد البيانات. داخل كل مجلد قاعدة بيانات، يجب وضع ملفات البيانات في مجلد فرعي يسمى "البيانات" ويسمى باستخدام format collection.json. يجب وضع ملفات بيانات التعريف (إن وجدت) في مجلد فرعي يسمى "بيانات التعريف" ويتم تسميتها باستخدام التنسيق نفسه، collection.json. يجب أن تكون ملفات بيانات التعريف بنفس التنسيق الذي تنتجه أداة MongoDB bsondump.

    هام

    لا ينصح باستخدام شهادة موقعة ذاتيا على خادم MongoDB. ومع ذلك، إذا تم استخدام أحدها، فيرجى الاتصال بالخادم باستخدام وضع سلسلة الاتصال والتأكد من أن سلسلة الاتصال يحتوي على ""

    &sslVerifyCertificate=false
    

    يمكنك استخدام عنوان IP للحالات التي لا يمكن فيها حل اسم DNS.

    Specify source details

  2. حدد حفظ.

    إشعار

    يجب أن يكون عنوان الخادم المصدر عنوان المصدر الأساسي إذا كان المصدر مجموعة نسخ متماثلة، وجهاز التوجيه إذا كان المصدر نظام مجموعة MongoDB مشترك. بالنسبة إلى نظام مجموعة MongoDB المشترك، يجب أن تكون خدمة Azure Database Migration Service قادرة على الاتصال بالقطع الفردية في نظام المجموعة، والتي قد تتطلب فتح جدار الحماية على المزيد من الأجهزة.

قم بتحديد تفاصيل الهدف.

  1. في شاشة تفاصيل هدف الترحيل، حدد تفاصيل الاتصال لحساب Azure Cosmos DB الهدف، وهو Azure Cosmos DB الذي تم توفيره مسبقا لحساب MongoDB الذي تقوم بترحيل بيانات MongoDB إليه.

    Specify target details

  2. حدد حفظ.

خريطة لاستهداف قواعد البيانات

  1. في شاشة Map to target databases ، قم بتعيين قاعدة البيانات المصدر والهدف للترحيل.

    في حال كانت قاعدة البيانات الهدف تحتوي على نفس اسم قاعدة البيانات مثل قاعدة البيانات المصدر، فإن Azure Database Migration Service تحدد قاعدة البيانات الهدف افتراضيًا.

    إذا ظهرت السلسلة Create بجوار اسم قاعدة البيانات، فهذا يشير إلى أن Azure Database Migration Service لم تعثر على قاعدة البيانات الهدف، وستقوم الخدمة بإنشاء قاعدة البيانات لك.

    عند هذه النقطة من عملية الترحيل، إذا كنت تريد مشاركة معدل النقل على قاعدة البيانات، حدد وحدات الطلب «RU» لمعدل النقل. في Azure Cosmos DB، يمكنك توفير معدل النقل إما على مستوى قاعدة البيانات أو بشكل فردي لكل مجموعة. يتم قياس معدل النقل بوحدات الطلب (RUs). تعرف على المزيد حول أسعار Azure Cosmos DB.

    Map to target databases

  2. حدد حفظ.

  3. في شاشة إعداد المجموعة، قم بتوسيع قائمة المجموعات، ثم راجع قائمة المجموعات التي سيتم ترحيلها.

    تحدد خدمة Azure Database Migration Service تلقائيًا جميع المجموعات الموجودة على مثيل MongoDB المصدر والتي لا توجد على حساب Azure Cosmos DB الهدف. إذا كنت ترغب في إعادة ترحيل المجموعات التي تتضمن بيانات بالفعل، تحتاج إلى تحديد المجموعات على هذه الشاشة بوضوح.

    يمكنك تحديد عدد وحدات RU التي تريد أن تستخدمها المجموعات. في معظم الحالات، ينبغي أن تكفي القيمة التي تتراوح بين 500 (1000 كحد أدنى للمجموعات القطعية) و4000. تقترح خدمة Azure Database Migration Service إعدادات افتراضية ذكية استنادًا إلى حجم المجموعة.

    إشعار

    نفّذ ترحيل قاعدة البيانات وتجميعها بالتوازي باستخدام مثيلات متعددة من خدمة Azure Database Migration Service، إذا لزم الأمر، لتسريع التشغيل.

    يمكنك أيضا تحديد مفتاح جزء للاستفادة من التقسيم في Azure Cosmos DB للحصول على قابلية التوسع المثلى. تأكد من مراجعة أفضل الممارسات لتحديد مفتاح جزء/قسم. إذا لم يكن لديك مفتاح قسم، يمكنك دائما استخدام _id كمفتاح القطع لتحسين معدل النقل.

    Select collections tables

  4. حدد حفظ.

  5. في شاشة ملخص الترحيل، في مربع النص اسم النشاط، حدد اسما لنشاط الترحيل.

    Migration summary

تشغيل الترحيل

  • حدد Run migration.

    تظهر نافذة نشاط الترحيل، ويتم عرض حالة النشاط.

    Activity status

مراقبة الترحيل

  • في شاشة نشاط الترحيل، حدد Refresh لتحديث العرض حتى تظهر حالة الترحيل على أنها Replaying.

    إشعار

    يمكنك النقر فوق النشاط للحصول على تفاصيل مقاييس الترحيل على مستوى قاعدة البيانات ومستوى المجموعة.

    Activity status replaying

التحقق من البيانات في Azure Cosmos DB

  1. أجر تغييرات على قاعدة بيانات MongoDB المصدر.

  2. الاتصال إلى Azure Cosmos DB للتحقق مما إذا كان يتم نسخ البيانات من خادم MongoDB المصدر.

    Screenshot that shows where you can verify that the data was replicated.

إكمال الترحيل

  • بعد توفر جميع المستندات من المصدر على هدف Azure Cosmos DB، حدد إنهاء من قائمة سياق نشاط الترحيل لإكمال الترحيل.

    هذا الإجراء سينتهي من إعادة تشغيل جميع التغييرات المعلقة ويكمل الترحيل.

    Screenshot that shows the Finish menu option.

تطوير ما بعد الترحيل

بعد ترحيل البيانات المخزنة في قاعدة بيانات MongoDB إلى Azure Cosmos DB ل MongoDB، يمكنك الاتصال ب Azure Cosmos DB وإدارة البيانات. يمكنك أيضًا تنفيذ خطوات التطوير الأخرى بعد الترحيل كتطوير نهج الفهرسة أو تحديث مستوى التناسق الافتراضي أو تهيئة التوزيع العمومي لحساب قاعدة بيانات Azure Cosmos DB. للمزيد من المعلومات، راجع مقالة التطوير ما بعد الترحيل.

الموارد الإضافية

الخطوات التالية