تصميم قاعدة البيانات: المخطط وقابلية التوسع
- 12 دقائق
تشمل قواعد البيانات، كما يمكنك أن تتخيل، نطاق واسع من التطبيقات والمتطلبات. وتحقيقًا لهذه الغاية، سوف نناقش بعض أنماط التصميم المحددة التي لا بد أن يبتكرها منشئو قواعد البيانات عند إنشاء أنظمة قواعد البيانات الخاصة بهم.
فرض المخطط
وتتطلب نظم قواعد البيانات، بصفة عامة، بعض المعلومات المتعلقة بأنواع البيانات وهياكلها التي يتعين تخزينها في قاعدة البيانات. مع أنظمة قاعدة البيانات الارتباطية، يتم تعريف المخطط رسميًا في الشروط التالية:
- المجموعات (الصفوف)، والتي تتكون من سمات (أعمدة)، وكلها تعرف ضمن كتابة معينة.
- علاقة (جدول)، تتكون من مجموعات متعددة من نفس الكتابة.
- القيود، التي تحدد مجموعة من القواعد على المجموعات والسمات والعلاقات.
ولا تعتبر المخططات مجرد إرشادات، بل يتم تنفيذها في الأنظمة الارتباطية. تحتوي قواعد البيانات المستندة إلى المخطط على المزايا التالية:
- تعبر المخططات عن نموذج البيانات بطريقة تسمح للعمليات المعقدة والاستعلامات التي يمكن بناؤها. على سبيل المثال، من السهل نسبيًا التعبير عن ربط (حيث يتم استنتاج البيانات من جدولين متميزين أو أكثر) في قاعدة بيانات ارتباطية.
- يمكن أن تحتوي المخططات على قيود يمكن استخدامها لفرض منطق البرنامج على مستوى قاعدة البيانات. على سبيل المثال، يمكن أن تفحص القيود البسيطة من عمر الشخص رقمًا موجبًا، بينما يمكن لدفتر الأستاذ البنكي الذي يتم تنفيذه كمجموعة من الجداول في قاعدة بيانات ارتباطية فرض الخاصية (باستخدام قيد معقد) التي يجب أن يساوي مجموع كل الأرصدة الدائنة والمدينة في النظام صفرًا. يمكن للنظام رفض أو استرجاع الحركات التي تنتهك هذه القيود.
- وتستفيد الأنظمة الارتباطية من المعلومات المقدمة في المخطط لإنشاء خطط استعلام مفصلة وفعالة، ما يسمح لقاعدة البيانات بالإجابة عن الاستفسارات المتعلقة بالبيانات المخزنة بكفاءة.
ومع ذلك، فإن فرض القيود الصارمة من مخطط هو أيضًا عائقًا أمام المرونة. وفي أثناء تطور التطبيق، فإن تغيير مخطط جدول توجد به صفوف بالفعل أمرًا في غاية الصعوبة، إن لم يكن مستحيلاً، اعتمادًا على الجدول والقيود المتوفرة.
ومن ناحية أخرى، هناك أنظمة قد تحتوي على مخططات مرنة أو لا تحتوي على مخططات من الأساس. مثال على النظام الذي لا يحتوي على مخطط عمليا هو مخزن عام لقيمة المفتاح، والذي يعمل بشكل أساسي كرسم خرائط بين مفاتيح من نوع معين وقيمة مقترنة. بعض مخازن قيم المفتاح مرنة للغاية؛ حيث تسمح لأي بيانات ثنائية عشوائية ليتم تخزينها تحت مفتاح معين. تتطلب بعض مخازن قيم المفتاح، مثل قاعدة بيانات AWS Dynamo، أن تكون كتابة المفتاح (سلسلة، عدد صحيح، وغيره) صريحًا عند إنشاء جدول جديد. تسمح بعض الأنظمة بوجود القيم المتداخلة في سمات البيانات، عادةً ما يتم تخزينها كـ JSON أو XML، مثل تخزين جدول Azure.
وهناك تغيّر آخر هو أنظمة مثل Bigtable GCP وApache HBase، والتي لديها مخطط شبه مرن. تتطلب هذه الأنظمة عددًا من الأعمدة ليتم تعريفها عند إنشاء جدول، ولكن يمكن أن يكون العمود أي عدد من الأعمدة الفرعية المتداخلة. وسوف تُغطي هذه النظم بالتفصيل في الوحدة النمطية التالية.
العملية مقابل المعالجة التحليلية
اختيار التصميم الرئيسي الذي يجب إجراؤه لتحسين نظام قاعدة البيانات هو الأمثل للحالة الشائعة لكتابة الاستعلامات التي سيتم تلقيها. وقد ظهر نمطان رئيسيان في أعباء العمل في قاعدة البيانات.
أحمال عمل المعاملات، والمعروفة أيضا باسم معالجة المعاملات عبر الإنترنت (OLTP)، هي أحمال عمل تتكون أساسا من معاملات قصيرة عبر الإنترنت. تتكون أحمال عمل معالجة العمليات عبر الإنترنت بشكل رئيسي من عمليات الإدراج والتحديث و/أو الحذف. التركيز على أنظمة OLTP على معالجة الاستعلام السريع والحفاظ على تكامل البيانات في البيئات التي يوجد فيها وصول متزامن. مثال جيد على حمل العمل OLTP هو العمليات المالية. لن تتضمن الاستعلامات إلا على عدد قليل من الجداول والصفوف وسوف لا تتطلب عمليات مسح واسعة من قاعدة البيانات.
ومن ناحية أخرى، تقوم بعض الأنظمة بتجميع وتحليل البيانات من أجل الحصول على رؤى واشتقاق المعلومات من البيانات. تسمى هذه الأنظمة أنظمة المعالجة التحليلية عبر الإنترنت (OLAP). تتضمن أنظمة المعالجة التحليلية متصلة بشكل عام وحدات تخزين أقل من المعاملات، ولكن قد تكون الاستعلامات الفردية معقدة وتتضمن حسابات تجميعية تمتد على صفوف وجداول متعددة. يتم تشغيل استعلامات أنظمة المعالجة التحليلية النموذجية متصلة بشكل أطول إلى حدٍ ما من استعلامات OLTP.
يوفر الفيديو التالي نظرة عامة على OLTP مقابل OLAP:
قابلية التوسع
مع مرور الوقت، عندما تنمو قاعدة المستخدم وبيانات نظام قاعدة البيانات، قد يتطلب النظام شكلا من أشكال التحجيم، ما من شأنه توسيع سعته و/أو أدائه من أجل دعم المزيد من المستخدمين أو البيانات، أو كليهما. يعد تغيير حجم قاعدة البيانات معقدا لمجموعة متنوعة من الأسباب، والتي سنغطيها بالتفصيل في الفيديو التالي:
تحجيم عمودي
التحجيم العمودي (أو التحجيم) هو عملية زيادة سعة قاعدة البيانات أو قدرتها على معالجة مؤشرات التحميل دون إضافة المزيد من المضيفين. يمكن القيام بذلك عن طريق تحديثات الأجهزة مثل وحدة المعالجة المركزية أسرع أو زيادة RAM أو الأقراص ذات السعة و/أو عمليات الإدخال/الإخراج أكثر في الثانية. قابلية التحجيم مع التحجيم العمودي محدودة بمقدار وحدة المعالجة المركزية RAM والقرص التي يمكن تكوينها على جهاز واحد.
تحجيم أفقي
يعني التحجيم الأفقي (أو التحجيم) تحجيم قواعد البيانات عن طريق إضافة المزيد من العقد لمعالجة مؤشرات استعلامات قاعدة البيانات. توفر منتجات RDBMS المختلفة طرقا مختلفة لتوسيع النطاق، بما في ذلك النسخ المتماثل وتقسيم قاعدة البيانات. مع النسخ المتماثل، يتم تخزين نفس البيانات عبر عدة عقد. وهذا يمكّن RDBMS من معالجة مؤشرات طلبات إضافية في نفس الوقت، ومن ثم زيادة عدد العمليات في الثانية. يعمل هذا الأسلوب عندما يطول قراءة قاعدة البيانات. أما عند التقسيم، فيتم تقسيم جدول كبير عبر عدة عقد (عادة على فهرس أو مفتاح). كمية البيانات المشتركة عبر العقد محدودة في هذه الحالة، ويتم تفضيل المشاركة المحدودة لأنها تقلل من المشكلات مع تناسق البيانات المنسوخة نسخًا متماثلاً.
النسخ المتماثل هو عملية تكرار البيانات عبر خوادم متعددة من أجل زيادة عدد المسارات المتوفرة إلى أجزاء فردية من البيانات. ويمكن نسخ البيانات للأداء، التوفر و/أو أغراض التسامح مع الخطأ. يسمح النسخ المتماثل للبيانات بأداء أسرع بشكل خاص من أجل القراءة، كما يسمح النسخ المتماثل للوصول المتوازي بنسخ متعددة من نفس البيانات. يساعد النسخ المتماثل في التوفر والتسامح مع الخطأ، كما تتوفر البيانات في موقع النسخ الاحتياطي إذا فشل جزء من نظام قاعدة البيانات.
أسلوب آخر، وهو تقويمي للنسخ المتماثل، فإنه يقسم. ويُقصد بعملية التقسيم العملية التي يتم من خلالها تقسيم البيانات إلى أقسام (تعرف باسم مقاطع) وتوزيعها عبر أنظمة قواعد بيانات متعددة. ومن ناحية التباين من النسخ المتماثل، يعمل كل مقطع كمصدر مفرد لمجموعة فرعية من البيانات الموجودة به. ويُعد التقسيم تقنية تُستخدم خصيصًا لتحسين أداء قواعد البيانات، وعلى وجه الخصوص، كتابة الأداء.
في الحالة المثالية، فإن قاعدة البيانات المقسمة سوف تُنشر في النهاية للبيانات عبر جميع الأقسام. ولكن هذا يصعب تحقيقه، كما ينبغي أن يكون توزيع البيانات عبر جميع الأقسام أكثر أو أقل توازنًا. تقنية شائعة هي الدعامة الأساسية للعديد من أنظمة قواعد البيانات الحالية هي التجزئة المتسقة.
التجزئة المتناسقة هو نوع خاص من تقنية التجزئة التي تسمح لجدول التجزئة للتوسع بطريقة فعالة. إذا كان K العدد الإجمالي للمفاتيح n وهو عدد المستودعات في جدول تجزئة معين، فإن التجزئة المتناسقة تتطلب فقط K/n إعادة تعيين المفاتيح في المتوسط في كل مرة تتم فيها إضافة مستودع جديد إلى جدول التجزئة.1
في حين أن بعض الأنظمة تستخدم مزيجًا من طريقة النسخ المتماثل والتقسيم لتقديم أداء عالٍ مع الحفاظ على درجة عالية من التوفر ولا سيما التسامح مع الخطأ. ومع ذلك، عند استخدام النسخ المتماثل، فإن أحد الشواغل الرئيسية هو التناسق، الذي سيتم مناقشته بعد ذلك.
المراجع
- كارجر، ديفيد وليمان، إريك وليتون، توم وبانيجراهي، رينا وليفين، ماثيو وليوين، دانيال (1997). التجزئة المتناسقة والأشجار العشوائية: بروتوكولات التخزين المؤقت الموزعة للتخفيف من حدة النقاط الفعالة على الشبكة العالمية، وقائع ندوة ACM التاسعة عشرة السنوية بشأن نظرية الحوسبة الموزعة
اختبر معلوماتك
الملاحظات
هل كانت هذه الصفحة مفيدة؟
لا
هل تحتاج إلى مساعدة مع هذا الموضوع؟
هل تريد محاولة استخدام Ask Learn لتوضيح هذا الموضوع أو إرشادك خلاله؟