تكرار متعدد الأسياد
تتضمن هذه المقالة قائمة بالمراجع العامة ، لكنها تفتقر إلى الاستشهادات المضمنة الكافية . ( مايو 2012 ) |
التكرار متعدد الأساتذة هو طريقة لتكرار قاعدة البيانات تسمح بتخزين البيانات بواسطة مجموعة من أجهزة الكمبيوتر وتحديثها بواسطة أي عضو في المجموعة. جميع الأعضاء يستجيبون لاستفسارات بيانات العميل. نظام التكرار متعدد الأساتذة مسؤول عن نشر تعديلات البيانات التي أجراها كل عضو إلى بقية المجموعة وحل أي تعارضات قد تنشأ بين التغييرات المتزامنة التي أجراها أعضاء مختلفون.
يمكن مقارنة تكرار النسخ المتعدد الأسياد بتكرار النسخ الأساسي ، حيث يتم تعيين عضو واحد من المجموعة باعتباره "الرئيسي" لقطعة معينة من البيانات ويكون العقدة الوحيدة المسموح لها بتعديل عنصر البيانات هذا. يجب على الأعضاء الآخرين الراغبين في تعديل عنصر البيانات الاتصال أولاً بالعقدة الرئيسية. إن السماح برئيس واحد فقط يجعل من الأسهل تحقيق الاتساق بين أعضاء المجموعة، ولكنه أقل مرونة من تكرار النسخ المتعدد الأسياد.
يمكن أيضًا مقارنة تكرار البيانات الرئيسية المتعددة بالتجميع الاحتياطي حيث تقوم خوادم التكرار السلبية بتكرار البيانات الرئيسية من أجل الاستعداد للاستيلاء عليها في حالة توقف الخادم الرئيسي عن العمل. الخادم الرئيسي هو الخادم الوحيد النشط للتفاعل مع العميل.
في كثير من الأحيان، يتم التعامل مع الاتصالات والتكرار في أنظمة متعددة الأساتذة عبر نوع من خوارزمية الإجماع ، ولكن يمكن أيضًا تنفيذها عبر خوارزميات مخصصة أو خاصة بالبرنامج.
الأغراض الأساسية للتكرار متعدد الأسياد هي زيادة التوافر ووقت استجابة أسرع للخادم. [1]
المزايا
- التوفر : إذا فشل أحد الأساتذة، يستمر الأساتذة الآخرون في تحديث قاعدة البيانات .
- الوصول الموزع: يمكن أن توجد الأجهزة الرئيسية في عدة مواقع مادية، أي موزعة عبر الشبكة.
العيوب
- التناسق : معظم أنظمة تكرار متعددة الأسياد تكون متناسقة بشكل فضفاض فقط، أي أنها كسولة وغير متزامنة، مما ينتهك خصائص ACID .
- الأداء : أنظمة التكرار المتحمسة معقدة وتزيد من زمن انتقال الاتصالات .
- النزاهة : يمكن أن تصبح القضايا مثل حل النزاعات مستعصية على الحل مع ارتفاع عدد العقد المعنية وزيادة زمن الوصول.
التنفيذات
خدمات الدليل
تعتمد العديد من خوادم الدليل على بروتوكول الوصول إلى الدليل الخفيف (LDAP) وتنفذ تكرارًا متعدد الأسياد.
الدليل النشط
أحد أكثر تطبيقات تكرار البيانات الرئيسية انتشارًا في خوادم الدليل هو Active Directory من Microsoft . داخل Active Directory، يتم بعد ذلك تكرار الكائنات التي يتم تحديثها على وحدة تحكم مجال واحدة إلى وحدات تحكم مجال أخرى من خلال تكرار البيانات الرئيسية المتعددة. ليس من الضروري أن تتكرر جميع وحدات تحكم المجال مع بعضها البعض لأن هذا من شأنه أن يتسبب في حركة مرور مفرطة على الشبكة في عمليات نشر Active Directory الكبيرة. بدلاً من ذلك، تحتوي وحدات تحكم المجال على نمط تحديث معقد يضمن تحديث جميع الخوادم في الوقت المناسب دون حركة مرور مفرطة للتكرار. ومع ذلك، يتم تلبية بعض احتياجات Active Directory بشكل أفضل من خلال عملية رئيسية واحدة مرنة .
دليل CA
يدعم دليل CA تكرار البيانات الرئيسية المتعددة.
برنامج OpenDS/OpenDJ
لقد نفذ OpenDS (ومنتج خليفته OpenDJ ) نظام التشغيل متعدد الأسياد منذ الإصدار 1.0. إن تكرار نظام التشغيل متعدد الأسياد OpenDS/OpenDJ غير متزامن، فهو يستخدم سجلاً بآلية نشر واشتراك تسمح بالتوسع إلى عدد كبير من العقد. يقوم تكرار نظام التشغيل OpenDS/OpenDJ بحل التعارضات على مستوى الإدخال والسمة. يمكن استخدام تكرار نظام التشغيل OpenDS/OpenDJ عبر شبكة واسعة النطاق .
بروتوكول OpenLDAP
OpenLDAP ، خادم LDAP مفتوح المصدر المستخدم على نطاق واسع ، ينفذ تكرارًا متعدد الأسياد منذ الإصدار 2.4 (أكتوبر 2007) [1].
أنظمة إدارة قواعد البيانات
أمازون أورورا
تتكون خدمة Amazon Aurora من عقد كاتبة، تقوم بتكرار سجلات إعادة التسجيل، وستة عقد تخزين. ترسل عقدة الكاتبة التغيير إلى كل عقدة تخزين، وكل منها تتحقق من وجود تعارضات ثم تبلغ عن تأكيد أو رفض التغيير. [2]
أباتشي كاوتش دي بي
يستخدم Apache CouchDB نظام تكرار متعدد الأسياد بسيط يعتمد على HTTP، تم بناؤه من خلال استخدامه لمخزن بيانات الإضافة فقط واستخدام التحكم في التزامن متعدد الإصدارات (MVCC) .
تحتوي كل وثيقة على معرف مراجعة، لذا فإن كل سجل يخزن الجدول الزمني التطوري لجميع معرفات المراجعة السابقة المؤدية إلى نفسه - والذي يوفر الأساس لنظام MVCC الخاص بـ CouchDB . بالإضافة إلى ذلك، فإنه يحتفظ بفهرس حسب التسلسل لقاعدة البيانات بأكملها. "عملية التكرار تنسخ فقط المراجعة الأخيرة من الوثيقة، لذا فإن جميع المراجعات السابقة التي كانت موجودة فقط على قاعدة البيانات المصدر لا يتم نسخها إلى قاعدة البيانات الوجهة." [3]
يعمل مُكرر CouchDB كعميل HTTP بسيط يعمل على كل من قاعدة البيانات المصدر والهدف . فهو يقارن معرفات التسلسل الحالية لقاعدة البيانات، ويحسب الاختلافات في المراجعة، ويجري التغييرات اللازمة على الهدف بناءً على ما وجده في تاريخ قاعدة البيانات المصدر . إن التكرار ثنائي الاتجاه هو نتيجة مجرد إجراء تكرار آخر مع تبديل قيم المصدر والهدف .
أرانجو دي بي
ArangoDB هو نظام قاعدة بيانات أصلي متعدد النماذج يستخدم تكرارًا متعدد الأسياد. تستخدم المجموعات في ArangoDB نموذج CP master/master بدون نقطة فشل واحدة. عندما تواجه مجموعة قسمًا للشبكة، تفضل ArangoDB الحفاظ على اتساقها الداخلي على التوافر. يختبر العملاء نفس عرض قاعدة البيانات بغض النظر عن العقدة التي يتصلون بها. وتستمر المجموعة في خدمة الطلبات حتى عندما يفشل أحد الأجهزة. [4]
غيوم
يستخدم Cloudant ، وهو نظام قاعدة بيانات موزعة، نفس واجهة برمجة التطبيقات HTTP إلى حد كبير مثل Apache CouchDB ، ويكشف عن نفس القدرة على التكرار باستخدام Multiversion Concurrency Control (MVCC) . يمكن لقواعد بيانات Cloudant التكرار بين بعضها البعض، ولكن داخليًا، تستخدم العقد داخل مجموعات Cloudant التكرار متعدد الأسياد للبقاء متزامنة مع بعضها البعض وتوفير توفر عالٍ لمستهلكي واجهة برمجة التطبيقات.
مجموعة eXtremeDB
eXtremeDB Cluster هو نظام فرعي للتجميع لمجموعة منتجات قاعدة البيانات المضمنة eXtremeDB من McObject . وهو يحافظ على اتساق قاعدة البيانات عبر عقد أجهزة متعددة من خلال تكرار المعاملات بطريقة متزامنة (التزام من مرحلتين). من الخصائص المهمة لـ eXtremeDB Cluster تكرار المعاملات ، على النقيض من مخططات التكرار المستندة إلى ملف السجل أو المستندة إلى عبارات SQL أو غيرها من مخططات التكرار التي قد تضمن أو لا تضمن نجاح أو فشل المعاملات بالكامل. وفقًا لذلك، فإن eXtremeDB Cluster هو نظام متوافق مع ACID (ليس BASE أو الاتساق النهائي )؛ سيعيد الاستعلام الذي يتم تنفيذه على أي عقدة عنقودية نفس النتيجة كما لو تم تنفيذه على أي عقدة عنقودية أخرى.
أوراكل
تطبق مجموعات قواعد البيانات تكرارًا متعددًا باستخدام إحدى طريقتين. يلتزم التكرار غير المتزامن متعدد الأسياد بتغييرات البيانات في قائمة انتظار المعاملات المؤجلة التي تتم معالجتها بشكل دوري على جميع قواعد البيانات في المجموعة. يستخدم التكرار المتزامن متعدد الأسياد وظيفة التكرار ثنائية الطور من Oracle لضمان أن جميع قواعد البيانات مع المجموعة لديها مجموعة بيانات متسقة .
مايكروسوفت إس كيو إل
توفر Microsoft SQL تكرارًا متعدد الأسياد من خلال التكرار من نظير إلى نظير. كما توفر حلًا للتوسع والتوافر العالي من خلال الاحتفاظ بنسخ من البيانات عبر عقد متعددة. بناءً على أساس التكرار المعاملاتي، ينشر التكرار من نظير إلى نظير تغييرات متسقة معاملاتيًا في الوقت الفعلي تقريبًا. [5]
MySQL / ماريا دي بي
على المستوى الأساسي، من الممكن تحقيق مخطط تكرار متعدد الأسياد بدءًا من إصدار MySQL 3.23 بالتكرار الدائري. وانطلاقًا من ذلك، تأتي MariaDB و MySQL مع بعض دعم التكرار، ولكل منهما فروق دقيقة مختلفة.
من حيث الدعم المباشر لدينا:
MariaDB: تدعم بشكل أصلي النسخ المتماثل متعدد المصادر منذ الإصدار 10.0، ولكن حل النزاعات غير مدعوم، لذا يجب أن يحتوي كل مصدر على قواعد بيانات مختلفة. في MySQL، يُطلق على هذا اسم النسخ المتماثل متعدد المصادر المتاح منذ الإصدار 5.7.6.
تم إصدار MySQL Group Replication، وهو مكون إضافي للمزامنة الافتراضية المتعددة مع معالجة التعارضات والاسترداد الموزع، مع 5.7.17.
مشاريع المجموعة:
يدعم MySQL Cluster اكتشاف التعارضات وحلها بين العديد من الأجهزة الرئيسية منذ الإصدار 6.3 لتحقيق إمكانية تعدد الأجهزة الرئيسية الحقيقية لخادم MySQL.
يوجد أيضًا مشروع خارجي، Galera Cluster تم إنشاؤه بواسطة codership Archived 2011-09-27 at the Wayback Machine ، والذي يوفر إمكانية حقيقية لتعدد الأسياد، استنادًا إلى شوكة من محرك تخزين InnoDB ومكونات إضافية مخصصة للتكرار. التكرار متزامن، لذا لا يوجد تعارض ممكن.
تعد Percona XtraDB Cluster أيضًا مزيجًا من مكتبة تكرار Galera وMySQL التي تدعم تعدد الأساتذة.
بوستجرس كيو ال
توجد خيارات مختلفة للتكرار المتزامن متعدد الأسياد. Postgres-XL الذي يتوفر بموجب ترخيص Mozilla Public License، وPostgresXC (المعروف الآن باسم Postgres-X2) الذي يتوفر بموجب نفس ترخيص PostgreSQL نفسه، من الأمثلة. لاحظ أن مشروع PgCluster (تم أرشفته في 2017-07-05 على موقع Wayback Machine ) تم التخلي عنه في عام 2007.
تصنف وثائق التكرار الخاصة بـ PostgreSQL [6] الأنواع المختلفة من التكرار المتاحة. توجد خيارات مختلفة للتكرار متعدد الأسياد الموزع، بما في ذلك Bucardo وrubyrep وBDR Bi-Directional Replication.
PostgreSQL BDR
يهدف BDR إلى التضمين النهائي في جوهر PostgreSQL وقد تم تقييمه لإظهار أداء محسّن بشكل كبير [7] مقارنة بالخيارات السابقة. يتضمن BDR تكرار عمليات كتابة البيانات (DML)، بالإضافة إلى تغييرات في تعريف البيانات (DDL) والتسلسلات العالمية. يمكن ترقية عقد BDR عبر الإنترنت من الإصدار 0.9 فصاعدًا. طورت 2ndQuadrant BDR باستمرار منذ عام 2012، مع استخدام النظام في الإنتاج منذ عام 2014. يوفر أحدث إصدار BDR 3.6 اكتشاف التعارض على مستوى العمود، وCRDTs، والتكرار الحريص، وتناسق الاستعلام متعدد العقد، والعديد من الميزات الأخرى.
إنجرس
لا يستشهد هذا القسم بأي مصادر . ( فبراير 2013 ) |
داخل Ingres Replicator، يمكن بعد ذلك تكرار الكائنات التي تم تحديثها على خادم Ingres واحد إلى خوادم أخرى سواء كانت محلية أو بعيدة من خلال تكرار متعدد الأسياد. إذا فشل أحد الخوادم، يمكن إعادة توجيه اتصالات العميل إلى خادم آخر. ليس من الضروري أن تتكرر جميع خوادم Ingres في بيئة ما مع بعضها البعض لأن هذا قد يتسبب في حركة مرور مفرطة على الشبكة في التنفيذات الكبيرة. بدلاً من ذلك، يسمح Ingres Replicator بتكرار البيانات المناسبة إلى الخوادم المناسبة دون حركة مرور مفرطة للتكرار. هذا يعني أن بعض الخوادم في البيئة يمكن أن تعمل كمرشحات للفشل بينما يمكن لخوادم أخرى تلبية متطلبات أخرى مثل إدارة مجموعة فرعية من الأعمدة أو الجداول لحل إداري، أو مجموعة فرعية من الصفوف لمنطقة جغرافية أو تكرار أحادي الاتجاه لخادم إعداد التقارير. في حالة فشل المصدر أو الهدف أو الشبكة، يتم فرض سلامة البيانات من خلال بروتوكول الالتزام المكون من مرحلتين هذا من خلال التأكد من تكرار المعاملة بالكامل أو عدم تكرار أي منها. بالإضافة إلى ذلك، يمكن لـ Ingres Replicator العمل عبر أنظمة إدارة قواعد البيانات العلائقية من بائعين متعددين [ أيهما؟ ] لربطهم.
انظر أيضا
- عملية مرنة لوحدة رئيسية واحدة
- الدليل النشط
- نظام إدارة قواعد البيانات الموزعة
- نقل منطقة DNS
- تكرار متفائل
مراجع
- ^ Postgres-XC Archived 2012-07-01 at the Wayback Machine under What Is Postgres-XC? :
تعني قابلية الكتابة أن Postgres-XC يمكن تكوينه بعدد خوادم قواعد البيانات التي تريدها والتعامل مع عدد أكبر من عمليات الكتابة (تحديث عبارات SQL) مقارنة بما لا يستطيع خادم قاعدة بيانات واحد القيام به
- ^ "إنشاء تطبيقات MySQL عالية التوفر باستخدام Amazon Aurora Multi-Master". 8 أغسطس 2019.
- ^ "تكرار Apache CouchDB". Apache Foundation - مشروع Apache CouchDB.
- ^ “الهندسة المعمارية العنقودية ArangoDB”. ArangoDB - بنية ArangoDB.
- ^ تكرار المعاملات من نظير إلى نظير
- ^ مقارنة بين حلول التكرار المختلفة لـ PostgreSQL كما ورد في وثائق PostgreSQL 9. تم الاسترجاع في 2012-05-08
- ^ أداء BDR بيتر جيلينك، الربع الثاني. تم الاسترجاع في 2014-07-10
روابط خارجية
- نموذج تكرار Active Directory
- المصطلحات والتعريفات الخاصة بتكرار قاعدة البيانات
- SymmetricDS هو برنامج مزامنة بيانات مستقل عن قاعدة البيانات . يستخدم تقنيات الويب وقواعد البيانات لتكرار الجداول بين قواعد البيانات العلائقية في الوقت الفعلي تقريبًا. تم تصميم البرنامج للتوسع لعدد كبير من قواعد البيانات، والعمل عبر اتصالات ذات نطاق ترددي منخفض، وتحمل فترات انقطاع الشبكة. وهو يدعم MySQL و Oracle و SQL Server و PostgreSQL و IBM Db2 و Firebird و Interbase و HSQLDB و H2 و Apache Derby و Informix و Greenplum و SQLite و Sybase ASE و Sybase ASA . مرخص بموجب كل من الترخيص مفتوح المصدر ( GPL ) والرخص التجارية.
- Daffodil Replicator هي أداة Java لمزامنة البيانات ونقلها والنسخ الاحتياطي للبيانات بين خوادم قواعد البيانات المختلفة. يعمل Daffodil Replicator على برنامج تشغيل JDBC القياسي ويدعم التكرار عبر قواعد البيانات غير المتجانسة. في الوقت الحالي، يدعم قواعد البيانات التالية: Microsoft SQL Server و Oracle وDaffodil database و IBM Db2 و Apache Derby و MySQL و PostgreSQL . يتوفر Daffodil Replicator في كل من الإصدارات المؤسسية (التجارية) والإصدارات مفتوحة المصدر ( المرخصة بموجب GPL ).
- مشروع الدليل المفتوح DMOZ - صفحة تكرار قاعدة البيانات
