إعداد قاعدة بيانات موزعة عالميًّا باستخدام واجهة برمجة تطبيقات قاعدة بيانات Azure Cosmos DB لنظام MongoDB

ينطبق على: MongoDB

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

تتناول هذه المقالة المهام التالية:

إضافة مناطق قاعدة بيانات عمومية باستخدام مدخل Azure

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

  1. في مدخل Azure، في الشريط اليسار، اضغط على Azure Cosmos DB.

  2. في صفحة DB Cosmos Azure حدد حساب قاعدة البيانات للتعديل.

  3. في صفحة الحساب، اضغط على نسخ البيانات على نحو مماثل عالمياً من القائمة.

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

    اضغط على المناطق في الخريطة لإضافتها أو حذفها

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

تحديد مناطق قاعدة البيانات العالمية

يوجد سيناريوهان شائعان فيما يخص تكوين منطقين أو أكثر:

  1. توفير وصول ذي زمن الانتقال البطيء إلى البيانات إلى المستخدمين النهائيين دون الاكتراث لمكان تواجدهم حول العالم
  2. إضافة المرونة الإقليمية لسياسة استمرارية تصريف الأعمال واسترداد البيانات بعد عطل فادح (BCDR)

لتوفير زمن الانتقال البطيء للمستخدمين النهائيين، من المستحسن نشر كل من التطبيق وAzure Cosmos DB في المناطق التي تتوافق مع مكان وجود مستخدمي التطبيق.

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

التحقق من الإعداد الإقليمي

طريقة بسيطة للتحقق من التكوين العمومي الخاص بك باستخدام واجهة برمجة تطبيقات Azure Cosmos DB ل MongoDB هي تشغيل الأمر isMaster() من Mongo Shell.

اتبع ما يلي من Mongo Shell:

   db.isMaster()

مثال على النتائج:

   {
      "_t": "IsMasterResponse",
      "ok": 1,
      "ismaster": true,
      "maxMessageSizeBytes": 4194304,
      "maxWriteBatchSize": 1000,
      "minWireVersion": 0,
      "maxWireVersion": 2,
      "tags": {
         "region": "South India"
      },
      "hosts": [
         "vishi-api-for-mongodb-southcentralus.documents.azure.com:10255",
         "vishi-api-for-mongodb-westeurope.documents.azure.com:10255",
         "vishi-api-for-mongodb-southindia.documents.azure.com:10255"
      ],
      "setName": "globaldb",
      "setVersion": 1,
      "primary": "vishi-api-for-mongodb-southindia.documents.azure.com:10255",
      "me": "vishi-api-for-mongodb-southindia.documents.azure.com:10255"
   }

الاتصال بمنطقة مفضلة

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

var collection = database.GetCollection<BsonDocument>(collectionName);
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.Nearest));

بالنسبة للتطبيقات التي تحتوي على منطقة قراءة/كتابة أساسية ومنطقة ثانوية لسيناريوهات التعافي من الكوارث (DR)، نوصي بتعيين تفضيل القراءة لمجموعتك على المفضل الأساسي. يتم تكوين تفضيل قراءة المفضل الأساسي للقراءة من المنطقة الثانوية عندما تكون المنطقة الأساسية غير متوفرة.

var collection = database.GetCollection<BsonDocument>(collectionName);
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.SecondaryPreferred));

وأخيرا، إذا كنت ترغب في تحديد مناطق القراءة يدويًا. يمكنك تعيين علامة المنطقة ضمن تفضيلات القراءة.

var collection = database.GetCollection<BsonDocument>(collectionName);
var tag = new Tag("region", "Southeast Asia");
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.Secondary, new[] { new TagSet(new[] { tag }) }));

وبذلك ينتهي هذا البرنامج التعليمي. يمكنك معرفة كيفية إدارة تناسق حسابك العام المكرر من خلال قراءةمستويات التناسق في قاعدة بيانات Azure Cosmos DB. وللمزيد من المعلومات حول كيفية عمل النسخ المتماثل لقاعدة البيانات العالمية في قاعدة بيانات Azure Cosmos DB، راجع توزيع البيانات عالميًّا باستخدام قاعدة بيانات Azure Cosmos DB.

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

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

  • تكوين التوزيع العمومي باستخدام مدخل Azure
  • تهيئة التوزيع العالمي باستخدام واجهة برمجة تطبيقات قاعدة بيانات Azure Cosmos DB لنظام MongoDB.

يمكنك الآن المتابعة إلى البرنامج التعليمي التالي لمعرفة كيفية التطوير محليًّا باستخدام Azure Cosmos DB المحاكي محليًّا.

هل تحاول القيام بتخطيط السعة للترحيل إلى Azure Cosmos DB؟ يمكنك استخدام معلومات حول نظام مجموعة قاعدة البيانات الموجودة لديك لـ تخطيط السعة.