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

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث

قاعدة البيانات الموزعة (Distributed Database) تُعرّف بأنها قاعدة البيانات التي لا تكون اجهزة التخزين فيها موصولة إلى وحدة معالجة مشتركة كـ وحدة المعالجة المركزية في الحاسب الآلي . قد تكون مخزنة في اجهزة متعددة وتتواجد في نفس المكان الطبيعي او قد تكون اختفت عبر شبكة من الأجهزة المتصلة . على عكس الأنظمة الموازية حيث تكون المعالجات مترابطة بشكل قوي و تمثل قاعدة بيانات وحيدة , قاعدة البيانات الموزعة تحتوي على عدة مواقع عمل متناثرة لا تتواجد في نفس المكان فعليا. محموعة البيانات كمثال في قاعدة البيانات قد يتم توزيعها على عدة مواقع فعلية. قاعدة البيانات الموزعة قد تتواجد في خادم شبكة الإنترنت , إنترانت او اكسترانت مشتركة او في اي شبكة اخرى داخل الشركة. النسخ المكررة و الموزعة من قاعدة البيانات تساهم في تحسين أداء قاعدة البيانات بالنسبة للمستخدم النهائي. لضمان مواكبة قاعدة البيانات الموزعة للتحديثات يوجد هنالك عمليتين: التكرار (Replication)و الإستنساخ (Duplication). التكرار يضمن إستخدام برمجيات متخصصة في البحث عن التحديثات في قاعدة البيانات الموزعة. عندما يتم إيجاد تحديث او تغيير فإن إجراء التكرار تعمم التغيير على كل قواعد البيانات. إجراء التكرار قد يكون معقد جدا و يستهلك الكثير من الوقت بناء على حجم و عدد القواعد الموزعة. و قد تحتاج هذه العملية إلى الكثير من الوقت و المصادر الحاسوبية. الإستنساخ من جهة أخرى ليس بالأمر المعقد. الإستنساخ ببساطة يحدد قاعدة بيانات معينة و يعينها كنسخة أصلية و من ثم يقوم بإستنساخها. إجراء الأستنساخ عادة يتم بعد مرور وقت معين. هذا للتأكد من أن كل مكان موّزع يضم نفس البيانات . في هذا الإجراء, التغييرات مسموحة فقط في قاعدة البيانات الأصلية. وهذا لضمان عدم الكتابة على البيانات المحلية . إستخدام أي إجراء من هذين الإجرائين يضمن حداثة البيانات في كل المواقع التي وزعت فيها قواعد البيانات. إلى جانب تكرار و تجزئة (Fragmentation) قاعدة البيانات الموزعة فأنه يوجد هناك الكثير من تقنيات تصميم قواعد البيانات الموزعة المختلفة. على سبيل المثال, تقنيات قاعدة البيانات الموزعة في الحكم الذاتي و المزامنة و اللامزامنة . تطبيق هذه التقنيات يتوقف بدرجة أساسية على إحتياجات العمل و مدى حساسية المعلومات التي ستخزن في هذا النوع من قواعد البيانات و كذلك على الميزانية المخصصة لضمان سرية المعلومات و صحتها.

البناء[عدل]


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

إعتبارات مهمة[عدل]

يجب توخي الحذر في إطار قواعد البيانات الموزعة لضمان التالي:

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

هنالك بشكل رئيسي طريقتان لتخزين العلاقة في قاعدة بيانات موزعة r.

  1. التكرار
  2. التجزئة

1- التكرار : من خلال التكرار يقوم النظام بصيانة نسخ متطابقة للعلاقة r في مواقع مختلفة و متفرقة.

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

2- التجزئة: العلاقة r يتم تجزئتها هنا إلى r1,r2,r3....rn بطريقة تضمن بأن العلاقة الرئيسة يمكن إعادة بنائها من خلال الأجزاء المتفرقة , ومن ثم يتم توزيع الأجزاء على المواقع المختلفة. هنالك منهجان في التجزئة:

  • التجزئة الأفقية: تنقسم هنا العلاقة عن طريق تصنيف كل صف في العلاقة إلى حزء واحد أو أكثر.
  • التجزئة العمودية: تنقسم العلاقة هنا عن طريق تفكيك مخطط العلاقة العام.

المزايا[عدل]

  • إدارة البيانات الموزعة بمستويات مختلفة من الشفافية مثل شفافية الشبكة وشفافية التجزئة وشفافية النسخ المتماثل، الخ.
  • زيادة الموثوقية والتوافر.
  • قابلية التوسع بسهولة .
  • تعكس بناء المنظمة - اجزاء قاعدة البيانات توجد في أقسام المؤسسة المعنية بها.
  • الإستقلالية المحلية او إستقلالية الموقع- كل قسم يستطيع التحكم في البيانات المتعلقة به.
  • حماية البيانات القيّمة: في حال حدوث كارثة ما كالحريق مثلا فإن البيانات لا توجد في مكان واحد فقط بل موزعة على مواقع مختلفة.
  • تحسين الأداء: البيانات توجد بالقرب من المكان الأكثر طلبا لها, و قواعد البيانات بالأساس تعمل بشكل متوازي يتيح توزيع الثقل على خوادم مختلفة. (الثقل العالي على جزء معين من قاعدة البيانات لن يؤثر على بقية الأجزاء في حال قاعدة البيانات الموزعة).
  • إقتصادية: التكلفة تكون أقل لإنشاء شبكة من حواسيب صغيرة تعمل مجتمعه كحاسوب عملاق.
  • النمطية: من الممكن تغيير , إضافة او حذف جزء معين من قواعد البيانات الموزعة بدون أن تتأثر بقية الأجزاء.
  • موثوقية العمليات: نتيجة للتكرار الحاصل في قاعدة البيانات.
  • إستقلالية الهاردوير, نظام التشغيل, الشبكة, التجزئة, نظام إدارة قواعد البيانات, التكرار و المكان.
  • العمل المتواصل.
  • التوزيعية في معالجة الأوامر و الإستفسارات.
  • التوزيعية في إدارة العمليات.

الفشل في موقع واحد لا يؤثر على أداء النظام الكلي. كل العمليات تخضع لخاصية A.C.I.D: الوحدة( A-atomicity): العملية تتنفذ جميعها بدون مشاكل او لا تتنفذ أبدا. التوافق ( C-consistency): نقل قاعدة البيانات من حالة متوافقة إلى أخرى. الفصل ( I-isolation): كل عملية تتعامل مع قواعد البيانات الموزعة على أنها قاعدة بيانات وحيدة متوافقة. المتانة (D-durability): نتائج العملية يحب أن تقاوم فسل النظام. يستخدم إسلوب دمج الأجزاء المتكررة لتعزيز وجود البيانات في قواعد البيانات.

العيوب[عدل]

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

أنظر أيضا[عدل]

مصادر[عدل]

  1. ^ O'Brien, J. & Marakas, G.M.(2008) Management Information Systems (pp. 185–189). New York, NY: McGraw-Hill Irwin
  2. Andrew S. Tanenbaum and Maarten van Steen. 2006. Distributed Systems: Principles and Paradigms (2nd Edition). Prentice-Hall, Inc., Upper Saddle River, NJ, USA.