سؤال

لدي شعور جيد إلى حد ما بما يمكن أن يفعله النسخ المتماثل لـ MySQL.أتساءل ما هي قواعد البيانات الأخرى التي تدعم النسخ المتماثل، وكيف يمكن مقارنتها بـ MySQL وغيرها؟

بعض الأسئلة التي أود طرحها هي:

  1. هل النسخ المتماثل مدمج أم وظيفة إضافية/مكون إضافي؟
  2. كيف يعمل النسخ المتماثل (عالي المستوى)؟يوفر MySQL النسخ المتماثل القائم على البيانات (والنسخ المتماثل القائم على الصف في الإصدار 5.1).أنا مهتم بكيفية مقارنة قواعد البيانات الأخرى.ما الذي يتم شحنه عبر السلك؟كيف يتم تطبيق التغييرات على النسخ المتماثلة؟
  3. هل من السهل التحقق من الاتساق بين السيد والعبيد؟
  4. ما مدى سهولة استعادة النسخة المتماثلة الفاشلة متزامنة مع النسخة الرئيسية؟
  5. أداء؟أحد الأشياء التي أكرهها بشأن النسخ المتماثل لـ MySQL هو أنه أحادي الترابط، وغالبًا ما تواجه النسخ المتماثلة مشكلة في المتابعة، حيث يمكن للنسخة الرئيسية تشغيل العديد من التحديثات بالتوازي، لكن النسخ المتماثلة يجب أن تقوم بتشغيلها بشكل تسلسلي.هل هناك أي مسكتك مثل هذا في قواعد البيانات الأخرى؟
  6. أي ميزات أخرى مثيرة للاهتمام ...
هل كانت مفيدة؟

المحلول

النسخ المتماثل لـ MySQL ضعيف بقدر ما يحتاج المرء إلى التضحية بوظائف أخرى للحصول على دعم رئيسي/رئيسي كامل (بسبب القيود المفروضة على الواجهات الخلفية المدعومة).

يعد النسخ المتماثل لـ PostgreSQL ضعيفًا حيث يتم دعم الرئيسي/الاستعداد فقط مدمجًا (باستخدام شحن السجل)؛تتطلب الحلول الأكثر قوة (مثل Slony أو Londiste) وظائف إضافية.يتم شحن مقاطع سجل الأرشيف عبر السلك، وهي نفس السجلات المستخدمة للتأكد من أن قاعدة البيانات المستقلة تعمل في حالة متسقة عند بدء التشغيل غير النظيف.هذا هو ما أستخدمه حاليًا، ولدينا إعادة المزامنة (والإعداد والوظائف الأخرى) مؤتمتة بالكامل.لا يوجد أي من هذه الأساليب متزامن تمامًا.سيتم توفير المزيد من الدعم الكامل اعتبارًا من PostgreSQL 8.5.لا يسمح شحن السجل لقواعد البيانات بالخروج من المزامنة، لذلك ليست هناك حاجة إلى عمليات لاختبار حالة المزامنة؛تتضمن إعادة قاعدتي البيانات إلى المزامنة تعيين علامة النسخ الاحتياطي على القاعدة الرئيسية، والمزامنة مع العبد (مع استمرار تشغيل قاعدة البيانات؛هذا آمن)، وإلغاء تعيين علامة النسخ الاحتياطي (وإعادة تشغيل العملية التابعة) مع توفر سجلات الأرشيف التي تم إنشاؤها أثناء عملية النسخ الاحتياطي؛متجري لديه هذه العملية (مثل جميع المهام الإدارية الأخرى) مؤتمتة.الأداء ليس مشكلة، حيث يتعين على السيد إعادة تشغيل مقاطع السجل داخليًا على أي حال بالإضافة إلى القيام بأعمال أخرى؛وبالتالي، سيكون العبيد دائمًا تحت عبء أقل من أسيادهم.

يعد Oracle's RAC (والذي لا يتم النسخ المتماثل بشكل صحيح، نظرًا لوجود واجهة تخزين خلفية واحدة فقط - ولكن لديك واجهات أمامية متعددة تتقاسم التحميل، ويمكنك إنشاء تكرار في واجهة التخزين الخلفية المشتركة نفسها، لذا فمن الجدير بالذكر هنا) هو برنامج متعدد رئيسي نهج أكثر شمولا بكثير من الحلول الأخرى، ولكن هو لأقصى حد غالي.لا يتم "شحن محتويات قاعدة البيانات عبر السلك"؛وبدلاً من ذلك، يتم تخزينها في الواجهة الخلفية المشتركة، والتي يمكن لجميع الأنظمة المعنية الوصول إليها.ونظرًا لوجود واجهة خلفية واحدة فقط، لا يمكن أن تخرج الأنظمة عن المزامنة.

يقدم استمرار حلاً من جهة خارجية يقوم بإجراء نسخ متزامن بالكامل على مستوى البيان مع دعم قواعد البيانات الثلاث المذكورة أعلاه؛ومع ذلك، فإن الإصدار المدعوم تجاريًا من منتجهم ليس رخيصًا بشكل خاص (على الرغم من أنه أقل تكلفة إلى حد كبير).في المرة الأخيرة التي قمت فيها بإدارته، تطلب حل استمرار التدخل اليدوي لإعادة المجموعة إلى المزامنة.

نصائح أخرى

لدي بعض الخبرة مع MS-SQL 2005 (الناشر) وSQLEXPRESS (المشتركين) مع النسخ المتماثل للدمج الخارجي.وهنا تعليقاتي:

1 - هل النسخ المتماثل مدمج أم وظيفة إضافية/مكون إضافي؟

بنيت في

2 - كيف يعمل النسخ المتماثل (المستوى العالي)؟

طرق مختلفة للنسخ المتماثل، بدءًا من اللقطة (تقديم بيانات ثابتة على مستوى المشترك) وحتى النسخ المتماثل للمعاملات (يتم تنفيذ كل تعليمات INSERT/DELETE/UPDATE على كافة الخوادم).دمج النسخ المتماثل يكرر التغييرات النهائية فقط (سيتم إجراء التحديثات المتعاقبة على نفس السجل مرة واحدة أثناء النسخ المتماثل).

3 - هل من السهل التحقق من التوافق بين السيد والعبيد؟

شيء لم أفعله قط..

4 - ما مدى سهولة استعادة النسخة المتماثلة الفاشلة متزامنة مع النسخة الرئيسية؟

عملية إعادة المزامنة الأساسية هي مجرد نقرة مزدوجة ....ولكن إذا كان لديك بيانات 4Go لإعادة التهيئة عبر اتصال بسعة 64 كيلو بايت، فستكون عملية طويلة ما لم تقم بتخصيصها.

5- الأداء؟

حسنًا ...سيكون لديك بالطبع عنق الزجاجة في مكان ما، سواء كان أداء الاتصال أو حجم البيانات أو أداء الخادم الخاص بك في النهاية.في التكوين الخاص بي، يكتب المستخدمون فقط للمشتركين، الذين يتم نسخهم جميعًا مع قاعدة البيانات الرئيسية = Publisher.وبعد ذلك، لا يتم طلب هذا الخادم مطلقًا من قبل المستخدمين النهائيين، وتكون وحدة المعالجة المركزية الخاصة به مخصصة بشكل صارم لنسخ البيانات (إلى خوادم متعددة) والنسخ الاحتياطي.يتم تخصيص المشتركين للعملاء وتكرار واحد (للناشر)، مما يعطي نتيجة مثيرة للاهتمام للغاية من حيث توفر البيانات للمستخدمين النهائيين.يمكن إطلاق النسخ المتماثلة بين الناشر والمشتركين معًا.

6- أي ميزات أخرى مثيرة للاهتمام ...

من الممكن، مع بعض الترقب، الاستمرار في تطوير قاعدة البيانات دون إيقاف عملية النسخ.... يمكن إضافة الجداول (بطريقة غير مباشرة) والحقول والقواعد وتكرارها للمشتركين لديك.

يمكن أن تكون التكوينات مع ناشر رئيسي ومشتركين متعددين رخيصة جدًا (عند مقارنتها ببعض الآخرين...)، حيث يمكنك استخدام SQLEXPRESS المجاني من جانب المشترك، حتى عند تشغيل عمليات الدمج أو النسخ المتماثل للمعاملات

مجرد إضافة إلى الخيارات مع SQL Server (خاصة SQL 2008، الذي يحتوي على ميزات تتبع التغيير الآن).شيء يجب مراعاته هو إطار المزامنة من مايكروسوفت.هناك عدد قليل من الخيارات، بدءًا من بنية المحور والتحدث الأساسية التي تعتبر رائعة إذا كان لديك خادم مركزي واحد وعملاء متصلين في بعض الأحيان، وصولاً إلى المزامنة من نظير إلى نظير والتي تمنحك القدرة على القيام بالمزيد من التقدم المزامنة مع قواعد بيانات "رئيسية" متعددة.

السبب الذي قد يجعلك ترغب في النظر في هذا بدلاً من النسخ المتماثل التقليدي هو أن لديك قدرًا أكبر من التحكم من التعليمات البرمجية، على سبيل المثال، يمكنك الحصول على الأحداث أثناء تقدم المزامنة لتعارضات التحديث/التحديث، والتحديث/الحذف، والحذف/التحديث، والإدراج/الإدراج وتحديد كيفية حلها بناءً على منطق الأعمال، وإذا لزم الأمر، قم بتخزين بيانات التعارض الخاسرة في مكان ما للمعالجة اليدوية أو التلقائية.القي نظرة على هذا الدليل لمساعدتك في تحديد ما هو ممكن باستخدام الطرق المختلفة للنسخ المتماثل و/أو المزامنة.

بالنسبة للمبرمجين المتحمسين، فإن Sync Framework مفتوح بدرجة كافية بحيث يمكنك جعل العملاء يتصلون عبر WCF بخدمة WCF الخاصة بك والتي يمكنها تجريد أي مخزن بيانات خلفي (سمعت أن بعض الأشخاص يجربون استخدام Oracle كواجهة خلفية).

لقد أطلق فريقي للتو مشروعًا كبيرًا يتضمن عدة قواعد بيانات SQL Express تقوم بمزامنة مجموعات فرعية من البيانات من قاعدة بيانات SQL Server مركزية عبر WAN والإنترنت (اتصال الطلب الهاتفي البطيء في بعض الحالات) بنجاح كبير.

يتمتع MS SQL 2005 Standard Edition وما فوق بقدرات وأدوات نسخ متماثل ممتازة.ألق نظرة على:

http://msdn.microsoft.com/en-us/library/ms151198(SQL.90).aspx

إنها قادرة جدًا.يمكنك أيضًا استخدام SQL Server Express كمشترك للقراءة فقط.

هناك الكثير من الأشياء المختلفة التي تستدعي قواعد البيانات النسخ المتماثل.ولا تتضمن جميعها فعليًا النسخ المتماثل، وتلك التي تعمل بطرق مختلفة إلى حد كبير.تدعم بعض قواعد البيانات عدة أنواع مختلفة.

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

كل قاعدة بيانات لها أسلوبها الخاص في النسخ المتماثل، وبعضها يتضمن أدوات أخرى يتم توصيلها.

هذا خارج الموضوع بعض الشيء ولكن قد ترغب في التحقق من Maatkit بحثًا عن أدوات للمساعدة في النسخ المتماثل لـ MySQL.

تتمتع جميع قواعد البيانات التجارية الرئيسية بتكرار جيد - ولكن بعضها أفضل من غيرها.يعد IBM Informix Dynamic Server (الإصدار 11 والإصدارات الأحدث) جيدًا بشكل خاص.يحتوي في الواقع على نظامين - أحدهما للإتاحة العالية (HDR - النسخ المتماثل للبيانات عالية الإتاحة) والآخر لتوزيع البيانات (ER - النسخ المتماثل للمؤسسات).كما أن ميزات Mach 11 (RSS - ثانوي مستقل عن بعد، وSDS - ثانوي للقرص المشترك) ممتازة أيضًا، بشكل مضاعف في 11.50 حيث يمكنك الكتابة إما إلى الأساسي أو الثانوي لزوج HDR.

(الكشف الكامل:أنا أعمل على برنامج Informix.)

لم أجربه بنفسي، ولكن قد ترغب أيضًا في الاطلاع على OpenBaseSQL، الذي يبدو أنه يحتوي على بعض النسخ المتماثل السهل الاستخدام.

هناك طريقة أخرى للذهاب وهي التشغيل في بيئة افتراضية.اعتقدت أن البيانات الواردة في مقالة المدونة هذه كانت مثيرة للاهتمام

http://chucksblog.typepad.com/chucks_blog/2008/09/enterprise-apps.html

إنها من أحد المسؤولين التنفيذيين في شركة EMC، لذا من الواضح أنها ليست مستقلة، لكن التجربة يجب أن تكون قابلة للتكرار

إليك البيانات الخاصة بـ Oracle

http://oraclestorageguy.typepad.com/oraclestorageguy/2008/09/to-rac-or-not-to-rac-reprise.html

يحرر:إذا قمت بتشغيل Virtualized، فهناك طرق لتكرار أي شيء

http://chucksblog.typepad.com/chucks_blog/2008/05/vmwares-srm-cha.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top