البرنامج التعليمي: ترحيل MongoDB إلى Azure Cosmos DB ل MongoDB RU عبر الإنترنت باستخدام خدمة ترحيل قاعدة بيانات Azure
ينطبق على: MongoDB
هام
يُرجى قراءة هذا الدليل بأكمله قبل تنفيذ خطوات الترحيل. لا تدعم خدمة ترحيل قاعدة بيانات Azure حاليا عمليات الترحيل إلى حساب Azure Cosmos DB لحساب MongoDB vCore.
يمثل دليل ترحيل MongoDB هذا جزءًا من سلسلة ترحيل MongoDB. تشمل خطوات ترحيل نظام MongoDB الأساسية ما قبل الترحيلوالترحيل وما بعد الترحيلحسبما هو موضح أدناه.
نظرة عامة حول ترحيل البيانات عبر الإنترنت من 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 RU دون اتصال باستخدام خدمة ترحيل قاعدة بيانات Azure.
المتطلبات الأساسية
لإكمال هذا البرنامج التعليمي، تحتاج إلى:
استكمال خطوات ما قبل الترحيل كتقدير معدل النقل واختيار مفتاح التقسيم وسياسة الفهرسة.
أنشئ Azure Cosmos DB لحساب MongoDB وتأكد من تمكين منع أخطاء تحديد المعدل لعمليات Azure Cosmos DB لعمليات MongoDB.
إشعار
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 بالوصول إلى قاعدة (قواعد) البيانات المصدر للترحيل.
تكوين Server Side Retries لقاعدة Azure Cosmos DB لإجراء ترحيل كفء
يستفيد العملاء القائمون بترحيل البيانات من قاعدة بيانات MongoDB إلى قاعدة بيانات Azure Cosmos DB من قدرات إدارة الموارد، والتي تضمن القدرة على الاستفادة الكاملة من وحدات الطلب RU/s المقدمة لمعدل النقل. قد يقوم Azure Cosmos DB بتقييد طلب خدمة ترحيل بيانات معين في أثناء الترحيل إذا تجاوز هذا الطلب وحدة الطلب/ الثانية المتوفرة للحاوية؛ ثم يحتاج هذا الطلب إلى إعادة المحاولة. خدمة ترحيل البيانات قادرة على إجراء عمليات إعادة المحاولة، ولكن وقت الإرسال ثم التلقي المضمن في مركز الشبكة بين خدمة Data Migration Service وAzure Cosmos DB يؤثر على وقت الاستجابة الإجمالي لهذا الطلب. يمكن أن يؤدي تحسين وقت الاستجابة للطلبات المقيدة إلى تقصير إجمالي الوقت اللازم للترحيل. تسمح ميزة Server Side Retry من Azure Cosmos DB للخدمة باعتراض الرموز الخاطئة التي تعطل الطلب ثم تعيد المحاولة خلال وقت أقل بكثير ذهاباً وإياباً، مما يحسن أوقات استجابة الطلب بشكل كبير.
يمكنك العثور على إمكانية إعادة المحاولة الجانبية للخادم في خيارFeatures بمدخل قاعدة بيانات Azure Cosmos DB
وإذا كان معطلا، فإننا نوصي بتمكينه كما هو موضح أدناه
تسجيل موفر الموارد
قم بتسجيل موفر موارد Microsoft.DataMigration قبل إنشاء المثيل الأول لخدمة ترحيل قاعدة البيانات.
قم بتسجيل الدخول إلى بوابة Azure. ابحث عن الاشتراكات وحددها.
حدد الاشتراك الذي تريد إنشاء مثيل لـ Azure Database Migration Service فيه، ثم حدد موفرو الموارد .
ابحث عن الترحيل، ثم حدد تسجيل لـ Microsoft.DataMigration .
إنشاء مثيل
في مدخل Microsoft Azure، حدد + Create a resource، وابحث عن Azure Database Migration Service، ثم حدد Azure Database Migration Service من القائمة المنسدلة.
في شاشة Azure Database Migration Service، حدد Create.
في شاشة إنشاء خدمة ترحيل، حدد اسما للخدمة والاشتراك ومجموعة موارد جديدة أو موجودة.
حدد الموقع الذي تريد إنشاء مثيل لـAzure Database Migration Service فيه.
حدد شبكة ظاهرية موجودة أو أنشئ شبكة جديدة.
توفر الشبكة الظاهرية خدمة Azure Database Migration Service مزودة بالوصول إلى مثيل MongoDB المصدر وحساب Azure Cosmos DB الهدف.
لمزيدٍ من المعلومات عن كيفية إنشاء شبكة ظاهرية في مدخل Azure، راجع المقال إنشاء شبكة ظاهرية باستخدام مدخل Azure.
حدد «SKU» من مستوى التسعير «Premium».
إشعار
يتم دعم عمليات الترحيل عبر الإنترنت فقط عند استخدام مستوى Premium. لمزيد من المعلومات عن التكاليف ومستويات التسعير، راجع صفحة التسعير.
حدد Create لإنشاء الخدمة.
قم بإنشاء مشروع ترحيل.
بعد إنشاء الخدمة، حدد موقعها داخل مدخل Microsoft Azure، وافتحها، ثم أنشئ مشروع ترحيل جديد.
في مدخل Azure، حدد All services وابحث عن خدمة Azure Database Migration Service، ثم حدد Azure Database Migration Services.
في شاشة Azure Database Migration Services ، ابحث عن اسم مثيل Azure Database Migration Service الذي أنشأته، ثم حدد المثيل.
بدلاً من ذلك، يمكنك اكتشاف مثيل خدمة Azure Database Migration Service من جزء البحث في مدخل Microsoft Azure.
حدد + New Migration Project.
في شاشة مشروع ترحيل جديد، حدد اسما للمشروع، وفي مربع النص نوع الخادم المصدر، حدد MongoDB، وفي مربع النص نوع الخادم الهدف، حدد Azure Cosmos DB ل MongoDB، ثم لاختيار نوع النشاط، حدد ترحيل البيانات عبر الإنترنت [معاينة].
حدد Save، ثم حدد Create and run activity لإنشاء المشروع وتشغيل نشاط الترحيل.
قم بتحديد تفاصيل المصدر.
في شاشة 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
أيضًا، استنادًا إلى نوع تفريغ المعلومات في Azure Storage، ضع التفاصيل التالية في الاعتبار.
بالنسبة إلى تفريغ BSON dumps، يجب أن تكون البيانات الموجودة في حاوية blob بتنسيق bsondump بحيث يتم وضع ملفات البيانات في مجلدات مسماة بعد قواعد البيانات التي تحتوي على تنسيق collection.bson. يجب تسمية ملفات بيانات التعريف (إن وجدت) باستخدام مجموعة التنسيق.metadata.json.
بالنسبة إلى تفريغ JSON dumps، يجب وضع الملفات الموجودة في حاوية blob في المجلدات المسماة بعد قواعد البيانات. داخل كل مجلد قاعدة بيانات، يجب وضع ملفات البيانات في مجلد فرعي يسمى "البيانات" ويسمى باستخدام مجموعة التنسيق.json. يجب وضع ملفات بيانات التعريف (إن وجدت) في مجلد فرعي يسمى "بيانات التعريف" ويتم تسميتها باستخدام التنسيق نفسه، المجموعة.json. يجب أن تكون ملفات بيانات التعريف بنفس التنسيق الذي تنتجه أداة MongoDB bsondump.
هام
لا ينصح باستخدام شهادة موقعة ذاتيا على خادم MongoDB. ومع ذلك، إذا تم استخدام أحدها، فيرجى الاتصال بالخادم باستخدام وضع سلسلة الاتصال والتأكد من أن سلسلة الاتصال يحتوي على ""
&sslVerifyCertificate=false
يمكنك استخدام عنوان IP للحالات التي لا يمكن فيها حل اسم DNS.
حدد حفظ.
يجب أن يكون عنوان الخادم المصدر عنوان المصدر الأساسي إذا كان المصدر مجموعة نسخ متماثلة، وجهاز التوجيه إذا كان المصدر نظام مجموعة MongoDB مشترك. بالنسبة إلى مجموعة MongoDB المقسمة، يجب أن تكون Azure Database Migration Service قادرة على الاتصال بالأجزاء الفردية في المجموعة، والتي قد تتطلب فتح جدار الحماية على المزيد من الأجهزة.
قم بتحديد تفاصيل الهدف.
في شاشة تفاصيل هدف الترحيل، حدد تفاصيل الاتصال لحساب Azure Cosmos DB الهدف، وهو Azure Cosmos DB الذي تم توفيره مسبقا لحساب MongoDB الذي تقوم بترحيل بيانات MongoDB إليه.
حدد حفظ.
خريطة لاستهداف قواعد البيانات
في شاشة Map to target databases ، قم بتعيين قاعدة البيانات المصدر والهدف للترحيل.
في حال كانت قاعدة البيانات الهدف تحتوي على نفس اسم قاعدة البيانات مثل قاعدة البيانات المصدر، فإن Azure Database Migration Service تحدد قاعدة البيانات الهدف افتراضيًا.
إذا ظهرت السلسلة Create بجوار اسم قاعدة البيانات، فهذا يشير إلى أن Azure Database Migration Service لم تعثر على قاعدة البيانات الهدف، وستقوم الخدمة بإنشاء قاعدة البيانات لك.
عند هذه النقطة من عملية الترحيل، إذا كنت تريد مشاركة معدل النقل على قاعدة البيانات، حدد وحدات الطلب «RU» لمعدل النقل. في Azure Cosmos DB، يمكنك توفير معدل النقل إما على مستوى قاعدة البيانات أو بشكل فردي لكل مجموعة. يتم قياس معدل النقل بوحدات الطلب في Azure Cosmos DB (RUs). تعرف على المزيد حول أسعار Azure Cosmos DB.
حدد حفظ.
في شاشة إعداد المجموعة، قم بتوسيع قائمة المجموعات، ثم راجع قائمة المجموعات التي سيتم ترحيلها.
تحدد خدمة Azure Database Migration Service تلقائيًا جميع المجموعات الموجودة على مثيل MongoDB المصدر والتي لا توجد على حساب Azure Cosmos DB الهدف. إذا كنت ترغب في إعادة ترحيل المجموعات التي تتضمن بيانات بالفعل، تحتاج إلى تحديد المجموعات على هذه الشاشة بوضوح.
يمكنك تحديد عدد وحدات RU التي تريد أن تستخدمها المجموعات. في معظم الحالات، ينبغي أن تكفي القيمة التي تتراوح بين 500 (1000 كحد أدنى للمجموعات القطعية) و4000. تقترح خدمة Azure Database Migration Service إعدادات افتراضية ذكية استنادًا إلى حجم المجموعة.
نفّذ ترحيل قاعدة البيانات وتجميعها بالتوازي باستخدام مثيلات متعددة من خدمة Azure Database Migration Service، إذا لزم الأمر، لتسريع التشغيل.
يمكنك أيضا تحديد مفتاح جزء للاستفادة من التقسيم في Azure Cosmos DB للحصول على قابلية التوسع المثلى. تأكد من مراجعة أفضل الممارسات لتحديد مفتاح جزء/قسم. إذا لم يكن لديك مفتاح قسم، يمكنك دائما استخدام _id كمفتاح القطع لتحسين معدل النقل.
حدد حفظ.
في شاشة ملخص الترحيل، في مربع النص اسم النشاط، حدد اسما لنشاط الترحيل.
تشغيل الترحيل
حدد Run migration.
تظهر نافذة نشاط الترحيل، ويتم عرض حالة النشاط.
مراقبة الترحيل
في شاشة نشاط الترحيل، حدد Refresh لتحديث العرض حتى تظهر حالة الترحيل على أنها Replaying.
إشعار
يمكنك النقر فوق النشاط للحصول على تفاصيل مقاييس الترحيل على مستوى قاعدة البيانات ومستوى المجموعة.
التحقق من البيانات في Azure Cosmos DB
أجر تغييرات على قاعدة بيانات MongoDB المصدر.
اتصل ب Azure Cosmos DB للتحقق مما إذا كان يتم نسخ البيانات من خادم MongoDB المصدر.
إكمال الترحيل
بعد توفر جميع المستندات من المصدر على هدف Azure Cosmos DB، حدد إنهاء من قائمة سياق نشاط الترحيل لإكمال الترحيل.
هذا الإجراء سينتهي من إعادة تشغيل جميع التغييرات المعلقة ويكمل الترحيل.
تطوير ما بعد الترحيل
بعد ترحيل البيانات المخزنة في قاعدة بيانات MongoDB إلى Azure Cosmos DB ل MongoDB، يمكنك الاتصال ب Azure Cosmos DB وإدارة البيانات. يمكنك أيضًا تنفيذ خطوات التطوير الأخرى بعد الترحيل كتطوير نهج الفهرسة أو تحديث مستوى التناسق الافتراضي أو تهيئة التوزيع العمومي لحساب قاعدة بيانات Azure Cosmos DB. للمزيد من المعلومات، راجع مقالة التطوير ما بعد الترحيل.
الموارد الإضافية
هل تحاول القيام بتخطيط السعة للترحيل إلى Azure Cosmos DB؟
- إذا لم تكن تعرف سوى عدد vCores والخوادم في نظام مجموعة قاعدة البيانات الحالية فقط، فاقرأ عن تقدير وحدات الطلب باستخدام vCores أو vCPUs
- إذا كان كل ما تعرفه هو عدد vcores والخوادم الموجودة في مجموعة قاعدة البيانات، اقرأ عن تقدير وحدات الطلب باستخدام vCores أو vCPUs