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

مكتمل

إذا كانت لديك قاعدة بيانات محلية وظيفية، فلماذا يجب أن تُفكر في نقلها إلى خدمة سحابية، مثل Azure؟ وبالمثل، لماذا يجب النظر في تطبيق نظام قاعدة بيانات جديد في Azure؟ تُجري العديد من الشركات هذا الترحيل لسهولة وقِلة تكاليف إنشاء خدمة مُتاحة وقابلة للتوسع في السحابة.

في شركة تكنولوجيا IoT الخاصة بك، تقضي الكثير من الوقت الإداري في تشغيل قواعد بيانات NoSQL على أنظمة محلية مختلفة، بما في ذلك Cassandra، وMongoDB. تعتقد أنه يمكنك تقليل هذا العمل بترحيل قواعد البيانات إلى Azure، ولكنك تريد معرفة المزيد حول الدعم الذي تُقدمه Azure للبيانات شبه الهيكلية، ومقدار العمل المطلوب لإكمال الترحيل. ولا تريد تعديل برنامج أجهزة IoT لدعم هذا الترحيل، بخلاف إعادة تكوين بسيطة.

هنا، سوف تتعلم الميزات والتقنيات الموجودة في Azure التي يُمكنك استخدامها لاستضافة قواعد بيانات NoSQL.

التوفر

يعتمد التوفر الذي تضمنه اتفاقيات مستوى الخدمة (SLAs) من Azure على التفاصيل الدقيقة لتنفيذك، ولكنها دومًا مُرتفعة. على سبيل المثال، بالنسبة إلى قاعدة بيانات Azure Cosmos DB في منطقة واحدة، تضمن Microsoft توفّرًا بنسبة 99.99٪ دون أي تكلفة إضافية. إذا نُشرت في مناطق متعددة، تزيد Microsoft من هذا الضمان إلى 99.999٪ لتوفّر كلاً من القراءة والكتابة.

إذا أردت تحقيق هذا التوفّر في شبكة محلية، فسيتوجب عليك تصميم نظام مرن لمواجهة فشل الأجهزة. ستحتاج إلى:

  • خوادم فعلية متعددة.
  • موازن تحميل يمكنه أن يعيد توجيه الاستعلامات إذا كان هناك فشل في الخادم.
  • شبكة منطقة تخزين تُشارك البيانات بين الخوادم أو طريقة للنسخ المُتماثل للبيانات بين الخوادم.
  • أجهزة شبكة مرنة.
  • مركز بيانات يُتحكم به بيئيًا.
  • إمدادات طاقة دون انقطاع ومولدات احتياطية.

كل هذه المكونات مُكلفة وتتطلب مهارة للتنفيذ والتشغيل. كما أنها ستستهلك موارد إدارية ضخمة. مع Azure، حُلّت هذه المتطلبات بالفعل، فقط أنشئ قاعدة البيانات، وسيتم تضمين قابلية وصول عالية بها.

قابلية التوسع

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

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

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

ما هي قاعدة بيانات Cosmos DB؟

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

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

بالتكامل مع Azure والنسخ المتماثل عبر مناطق متعددة، تُوفر قاعدة بيانات Cosmos DB اتفاقية على مستوى الخدمة (SLA) لتوفّر بنسبة 99.999٪. تستخدم العديد من منتجات وخدمات Microsoft قاعدة بيانات Cosmos DB بما في ذلك Skype، وXbox، وMicrosoft 365، ومن ثمَّ تُختبر بدقة على مدى فترة طويلة من الزمن منذ إنشائها كمشروع فلورنسا عام 2010 ثم توافرها للجمهور كـAzure DocumentDB.

لقاعدة بيانات Cosmos DB خيار واجهات برمجة التطبيقات للتفاعل مع بياناتك. تتضمن واجهات برمجة التطبيقات تلك SQL، وMongoDB، وCassandra، وGremlin، وAzure Table Storage، ومن المحتمل أن تنضم إليها المزيد من واجهات برمجة التطبيقات في المستقبل.

المزايا الرئيسية لقاعدة بيانات Cosmos DB

التوزيع العالمي

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

قيد التشغيل دومًا

يوفر Azure مستويات عالية من التوفّر، ولقاعدة بيانات Cosmos DB اتفاقية على مستوى الخدمة بنسبة 99.99٪ عند نشرها في منطقة واحدة. من خلال النشر في أكثر من منطقة واحدة، يمكنك الاستفادة من اتفاقية على مستوى الخدمة (SLA) بنسبة 99.999٪. تسمح المناطق المتعددة بتوفر بياناتك في حالة حدوث انقطاع إقليمي، وحتى في حالة عدم استرداد منطقة Azure، فلن يحدث فُقدان للبيانات في عملية النشر متعددة المناطق. قاعدة بيانات Cosmos DB هي الخدمة الوحيدة من هذا النوع التي تُقدم هذا المستوى من اتفاقية على مستوى الخدمة.

قابلية التوسع المرنة

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

زمن انتقال منخفض مضمون

تضمن قاعدة بيانات Cosmos DB زمن انتقال أقل من 10 مللي ثانية للقراءات المُفهرسة والكتابات على الصعيد العالمي.

نماذج التناسق

تخطيط التناسق ضروري لأي قاعدة بيانات بعدة مستخدمين، بل وأكثر من ذلك، لحل مُوزع عالميًا. كلما زاد التناسق، يقل التوفّر ومعدل النقل، بينما يزداد زمن الانتقال. لتبسيط التناسق، لدى قاعدة بيانات Cosmos DB خمسة مستويات، عند ترتيبها من الأكثر تناسقًا إلى الأقل تناسقًا، تكون: تناسقًا قويًا Strong، وتناسقًا محدودًا Bounded Staleness، وتناسق Session، وتناسقًا مستمرًا Consistent Prefix، وتناسقًا نهائيًا Eventual. تعتمد اتفاقيات مستوى الخدمة لقاعدة بيانات Cosmos DB على نموذج التناسق الذي تختاره.

إدارة الفهرس والمخططات

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