فهم قواعد البيانات الارتباطية الموزعة

ينطبق على: Azure Cosmos DB ل PostgreSQL (مدعوم بملحق قاعدة بيانات Citus إلى PostgreSQL)

Azure Cosmos DB هو نظام أساسي لقاعدة بيانات موزعة عالميا لكل من NoSQL وقواعد البيانات الارتباطية من أي مقياس. تستكشف هذه المقالة قواعد البيانات الارتباطية الموزعة في سياق خيار واجهة برمجة التطبيقات الارتباطية ل Azure Cosmos DB.

لمزيد من المعلومات حول خيارات تخزين البيانات الأخرى في Azure، راجع اختيار مخزن البيانات الصحيح في Azure Architecture Center.

التحديات

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

قواعد البيانات الارتباطية

تنظم قواعد البيانات الارتباطية البيانات في تنسيق جدولي (صف/عمود) مع العلاقات بين الجداول المختلفة في قواعد البيانات. قواعد البيانات الارتباطية شائعة في مختلف المؤسسات. غالبا ما يكون لدى هذه الشركات ثروة من مطوري البرامج الذين كتبوا تعليمة برمجية مقابل قاعدة بيانات ارتباطية أو المسؤولين الذين يصممون المخططات ويديرون منصات قواعد البيانات الارتباطية. غالبا ما تدعم قواعد البيانات الارتباطية أيضا المعاملات مع ضمانات ACID.

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

قواعد البيانات الموزعة

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

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

Azure Cosmos DB

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

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

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

هل تريد البدء باستخدام Azure Cosmos DB؟