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

ينطبق على: MongoDB

هام

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

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

Diagram of migration steps.

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

استخدم خدمة ترحيل قاعدة بيانات Azure لإجراء ترحيل غير متصل لمرة واحدة لقواعد البيانات من مثيل محلي أو سحابي ل MongoDB إلى Azure Cosmos DB ل MongoDB.

في هذا البرنامج التعليمي، تتعلم كيفية:

  • إنشاء مثيل لخدمة Azure Database Migration Service.
  • أنشئ مشروع ترحيل باستخدام Azure Database Migration Service.
  • تشغيل الترحيل.
  • مراقبة الترحيل.

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

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

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

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

  • إنشاء حساب ل Azure Cosmos DB ل MongoDB.

    إشعار

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

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

    إشعار

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

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

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

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

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

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

تكوين ميزة إعادة المحاولة من جانب الخادم

يمكنك الاستفادة من قدرات إدارة الموارد في حال الترحيل من 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 للخدمة باعتراض التعليمات البرمجية الخاطئة التي تعطل الطلب، ثم تعيد المحاولة من خلال وقت جولة أقل بكثير مما يحسن أوقات الرد على الطلب تحسنًا ملحوظًا.

لاستخدام إعادة المحاولة من جانب الخادم، في مدخل Azure Cosmos DB، حدد ميزات>إعادة المحاولة من جانب الخادم.

Screenshot that shows where to find the Server Side Retry feature.

إذا تم تعطيل الميزة، فحدد تمكين.

Screenshot that shows how to enable Server Side Retry.

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

قم بتسجيل موفر موارد 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 من القائمة المنسدلة.

    Screenshot that shows Azure Marketplace.

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

    Screenshot that shows how to create an instance of Azure Database Migration Service.

  3. في Create Migration Service، حدد اسما للخدمة والاشتراك ومجموعة موارد جديدة أو موجودة.

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

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

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

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

  6. حدد فئة التسعير.

    لمزيد من المعلومات عن التكاليف ومستويات التسعير، راجع صفحة التسعير.

    Screenshot that shows configuration settings for the instance of Azure Database Migration Service.

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

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

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

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

    Screenshot that shows how to locate all instances of Azure Database Migration Service.

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

  3. حدد + New Migration Project.

  4. في مشروع ترحيل جديد، حدد اسما للمشروع، وفي مربع النص نوع الخادم المصدر، حدد MongoDB. في مربع النص Target server type ، حدد Azure Cosmos DB for NoSQL، ثم لاختيار نوع النشاط، حدد ترحيل البيانات دون اتصال.

    Screenshot that shows project options.

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

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

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

    هام

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

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

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

    • وضع سلسلة الاتصال، الذي يقبل سلسلة الاتصال MongoDB كما هو موضح في تنسيق URI لسلسلة الاتصال ion.

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

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

      https://blobnameurl/container?SASKEY
      

      يمكنك العثور على هذه النقطة حاوية SAS سلسلة الاتصال في مستكشف Azure Storage. إنشاء SAS للحاوية المعنية يوفر لك URL بالتنسيق المطلوب.

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

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

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

    هام

    لا ننصح باستخدام شهادة موقعة ذاتيًا على خادم MongoDB. إذا كان من الضروري استخدام إحداها، يُرجى الاتصال بالخادم باستخدام وضع connection string mode، والتأكد من سلسلة اتصالك تحتوي على علامتي اقتباس («»).

    &sslVerifyCertificate=false
    

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

    Screenshot that shows specifying source details.

  2. حدد حفظ.

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

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

    Screenshot that shows specifying target details.

  2. حدد حفظ.

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

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

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

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

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

    Screenshot that shows mapping to target databases.

  2. حدد حفظ.

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

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

    يمكنك تحديد عدد وحدات RU التي تريد أن تستخدمها المجموعات. تقترح خدمة Azure Database Migration Service إعدادات افتراضية ذكية استنادًا إلى حجم المجموعة.

    إشعار

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

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

    Screenshot that shows selecting collections tables.

  4. حدد حفظ.

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

    Screenshot that shows the nigration summary.

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

حدد Run migration. تظهر نافذة نشاط الترحيل، وحالة النشاط لم تبدأ.

Screenshot that shows the activity status.

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

في شاشة نشاط الترحيل، حدد تحديث لتحديث العرض حتى تظهر حالة الترحيل كمكتملة.

إشعار

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

Screnshot that shows the activity status completed.

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

بعد انتهاء الترحيل، يمكنك التحقق من حساب Azure Cosmos DB للتحقق من ترحيل كل المجموعات بنجاح.

Screenshot that shows where to check your Azure Cosmos DB account to verify that all the collections were migrated successfully.

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

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

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

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

راجع إرشادات الترحيل للحصول على سيناريوهات إضافية في دليل ترحيل قاعدة بيانات Azure.