قواعد البيانات الارتباطية
- 6 دقائق
في السبعينيات، كان إدغار ف. كود رائدًا في نموذج قاعدة البيانات الارتباطية، والذي حوّل التركيز بعيدًا من النهج الانتقالي إلى نهج يُركز على البيانات. في النموذج العلائقي، يتم تخزين البيانات كحقول ذات طول ثابت في جداول عادية (الشكل 17). في التسوية، يمكن تقسيم الجداول الكبيرة إلى جداول أصغر وأقل تكرارًا، ويمكن تعريف العلاقات بينهما. ومضى كود في تحديد درجات مختلفة من التسوية للبيانات المخزنة في النموذج العلائقي. بالإضافة إلى ذلك، تم تطوير لغة الاستعلامات المركبة (SQL) في IBM لتقديم لغة بديهية بشكل معقول لإنشاء قواعد البيانات وإدارتها.
الشكل 17: جداول قاعدة البيانات الارتباطية
وادمجت مفاهيم قواعد البيانات الارتباطية مع SQL واستخدمتها شركة IBM، التي صممت النظام R وأنظمة إدارة قواعد البيانات الارتباطية DB2 (RDBMSs)، والتي كانت السلائف لجميع أنظمة RDBMS الحديثة.
وتشمل الميزات النموذجية لأنظمة إدارة قواعد البيانات الارتباطية لإصدارات RDBMS الحديثة ما يلي:
- تُصمم البيانات كسجلات في الجداول، ويتم التعبير عن السجلات ذات الصلة عبر الجداول كعلاقات.
- يتم تعريف الجداول بواسطة المخططات، والتي تفرض قواعد على الأنواع والإدخالات الصالحة لكل عمود (يعرف أيضًا باسم حقل) في الجدول.
- يتم تعريف الجداول والوصول إليها وتعديلها من خلال لغة الاستعلام (عادة ما تكون SQL).
توفر أنظمة إدارة قواعد البيانات الارتباطية لإصدارات RDBMS الحديثة لمطوري التطبيقات الحل كاملاً لإدارة البيانات، والذي يُلخص مفهوم إدارة البيانات بعيدًا عن مطوّر التطبيقات. فبمجرد تصميم مخطط، يمكن للتطبيقات تخزين واسترداد وتعديل السجلات استنادًا إلى القواعد المحددة في المخطط. ومن خلال تحديد القيود على المعلومات في قاعدة بيانات، يمكن للتطبيقات معالجة مؤشرات البيانات بأسلوب أكثر قوة، وهو أمر بالغ الأهمية لتجنب عدم التناسق في برامج التطبيقات. على سبيل المثال، يمكن لقاعدة البيانات المستخدم التحقق من عمر كل مستخدم ليكون عددًا صحيحًا غير سالب بين، مثلاً، 1 و130. وتستطيع قاعدة البيانات رفض إضافة أي مستخدم عمره لا يلائم هذا القيد، ويمكن توفير آلية للتحقق التلقائي في أثناء تخزين البيانات.
تغيير حجم قواعد البيانات التقليدية
تم تصميم أنظمة إدارة قواعد البيانات الارتباطية لإصدارات RDBMS التقليدية لتشغيلها على جهاز واحد، ولكن مع زيادة مقدار البيانات أو زيادة عدد المستخدمين المتزامنين، ينبغي تغيّر السعة الخاصة بقاعدة البيانات. تذكر أنه يمكن تحجيم قواعد البيانات إما عموديا أو أفقيا.
يُعد ضمان خصائص ACID عبر قاعدة بيانات موزعة حيث لا توجد عقدة واحدة مسؤولاً عن جميع البيانات التي تؤثر على العملية، والتي تمثل تعقيدات إضافية. قد تفشل اتصالات الشبكة، أو قد تنجح إحدى العقد في إتمام الجزء الذي يخصها من العملية، ومن ثم يُطلب منها إعادة تغيراتها إلى الخلف بسبب فشل في عقدة أخرى. وهكذا ظهرت الحاجة إلى آليات التحكم في التزامن الموزعة.
كان أحد الأمثلة المبكرة على التحكم في التزامن الموزع هو بروتوكول الالتزام على مرحلتين (2PC). يقدم بروتوكول التزام من مرحلتين (2PC) آلية الرجوع والتناسق للمعاملات الموزعة لضمان أن يوافق كل مشارك في العملية على ما إذا كان ينبغي الامتثال للعملية أم لا. في المرحلة الأولى، تستجوب إحدى العقد (المنسقة) العقد الأخرى (المشاركين) وترسل رسالة VOTE_REQUEST إلى جميع المشاركين (الشكل 18). بعد ذلك يرسل المشاركون تصويتهم على العملية التي يتعين إتمامها، إما بـ VOTE_COMMIT أو بـ VOTE_ABORT. في المرحلة الثانية، يُحصي المنسق الأصوات من كل مشارك ويصدر رسالة GLOBAL_COMMIT إذا صوّت كل مشارك لصالح العملية، أو رسالة GLOBAL_ABORT حتى لو صوّت أحد المشاركين ضد العمليات(الشكل 19). وأخيرًا، يلتزم المشاركون بالعملية أو العودة إلى الحالة السابقة استنادًا إلى الرسالة التي تم تلقيها من المنسق. وهكذا يضمن بروتوكول التزام من مرحلتين (2PC) التناسق الصارم، حيث إن كل عملية تتطلب توافق الآراء العمومية بين جميع العقد. وتشمل متغيرات بروتوكول التزام من مرحلتين (2PC) برتوكول تثبيت من ثلاث مراحل (3PC) وبروتوكول تأمين من مرحلتين. ومع ذلك، بروتوكولات التحكم في التزامن تلك مكلفة وتؤثر على الأداء على تغيّر السعة.
الشكل 18: 2PC - المرحلة الأولى
الشكل 19: 2PC - المرحلة الثانية
اختبر معلوماتك
الملاحظات
هل كانت هذه الصفحة مفيدة؟
لا
هل تحتاج إلى مساعدة مع هذا الموضوع؟
هل تريد محاولة استخدام Ask Learn لتوضيح هذا الموضوع أو إرشادك خلاله؟