البرنامج التعليمي: ترحيل 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 الأساسية ما قبل الترحيلوالترحيل وما بعد الترحيلحسبما هو موضح أدناه.

مخطط خطوات الترحيل.

نظرة عامة حول ترحيل البيانات دون الاتصال بالإنترنت من 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، حدد ميزات>إعادة المحاولة من جانب الخادم.

لقطة شاشة توضح مكان البحث عن ميزة إعادة المحاولة على جانب الخادم.

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

لقطة شاشة توضح كيفية تمكين Server Side Retry.

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

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

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

    إظهار اشتراكات المدخل

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

    إظهار موفري الموارد

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

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

إنشاء مثيل

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

    لقطة شاشة تعرض Azure Marketplace.

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

    لقطة شاشة تظهر كيفية إنشاء مثيل لخدمة ترحيل قاعدة بيانات Azure.

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

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

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

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

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

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

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

    لقطة شاشة تظهر إعدادات تكوين مثيل لخدمة ترحيل قاعدة بيانات Azure.

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

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

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

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

    لقطة شاشة تظهر كيفية تحديد مكان جميع مثيلات خدمة ترحيل قاعدة بيانات Azure.

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

  3. حدد + New Migration Project.

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

    لقطة شاشة تظهر خيارات المشروع.

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

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

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

    هام

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

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

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

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

    • البيانات من تخزين 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 في المجلدات المسماة بعد قواعد البيانات. داخل كل مجلد قاعدة بيانات، يجب وضع ملفات البيانات في مجلد فرعي يسمى البيانات، وتسمى باستخدام التنسيق collection.json. ضع أي ملفات بيانات تعريف في مجلد فرعي يسمى بيانات التعريف، وتم تسميتها باستخدام التنسيق نفسه، collection.json. يجب أن تكون ملفات بيانات التعريف بنفس التنسيق الذي تنتجه أداة MongoDB bsondump.

    هام

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

    &sslVerifyCertificate=false
    

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

    لقطة شاشة تعرض تفاصيل المصدر.

  2. حدد حفظ.

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

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

    لقطة شاشة تعرض تفاصيل الهدف المحدد.

  2. حدد حفظ.

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

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

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

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

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

    لقطة شاشة تعرض التعيين إلى قواعد البيانات المستهدفة.

  2. حدد حفظ.

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

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

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

    إشعار

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

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

    لقطة شاشة تعرض تحديد جداول المجموعات.

  4. حدد حفظ.

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

    لقطة شاشة ملخص الترحيل.

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

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

لقطة شاشة توضح حالة النشاط.

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

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

إشعار

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

لقطة شاشة توضح حالة النشاط مكتملاً.

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

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

لقطة شاشة توضح مكان التحقق من حساب Azure Cosmos DB للتحقق من ترحيل جميع المجموعات بنجاح.

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

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

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

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

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