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

ينطبق على: 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؟