Binlog الخلية النسخ المتماثل هو "حقيبة من الأذى". هل هناك أي بدائل جيدة؟

StackOverflow https://stackoverflow.com/questions/272704

  •  07-07-2019
  •  | 
  •  

سؤال

ولقد بصراحة حاول هذا <لأ href = "HTTPS: //stackoverflow.com/questions/30660/mysql-binary-log-replication-can-it-be-set-to-ignore-errors">left <لأ href = "https://stackoverflow.com / الأسئلة / 3798 / كامل كاملة-ك-DB-النسخ المتماثل الأفكار ما دو لشعب دو "> و <لأ href =" https://stackoverflow.com/questions/8166/mysql- النسخ المتماثل إذا ط-لا أميل-تحديدها-أي-قواعد البيانات و-logbin-تسجيل-كل شيء "> حق و لا تزال تجد أن خدمة بلدي مرآة، وإعداد كعبد تكرارها لا يزال متخلفا. قاعدة المستخدمين بلدي التطبيق ازدياد مستمر وصلت الآن إيف النقطة التي لا يمكن أن تبقي "اغلاق" إلى "إعادة مزامنة" قواعد البيانات (وليس حتى في عطلة نهاية الأسبوع).

وعلى أي حال، سؤالي: هل هناك أي معقولة، أو بأسعار معقولة ، أو بدائل لbinlog تكرارها؟ لدي ملقمين ذلك لن تنظر في شراء ثلث لتحميل موازنة فقط حتى الآن، ما لم يكن الخيار الوحيد.

وابتهاج،

و/ النائب

هل كانت مفيدة؟

المحلول

وسيدك ينفذ بالتوازي وعبدك ينفذ في المسلسل. إذا سيدك يمكن معالجة 1.5 ساعة من إدراج / التحديثات / ينفذ في 1 ساعة حقيقية، سوف عبدك تخلف.

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

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

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

<القوي> تحديث (2017) : لالخلية دعم الآن <لأ href = "https://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html#sysvar_slave_parallel_workers "يختلط =" نوفولو noreferrer "> موازية المواضيع عامل الرقيق . لا تزال هناك العديد من المتغيرات التي من شأنها أن تسبب عبدا لتخلف، ولكن العبيد لم تعد هناك حاجة لكتابة من أجل المسلسل. اختيار للحفاظ على ارتكاب ترتيب المواضيع الرقيق موازية هو خيار المهم أن ننظر إلى إذا كانت الدولة بالضبط من العبد في أي نقطة في الوقت المناسب أمر بالغ الأهمية.

نصائح أخرى

هل حاولت: 1) SET innodb_flush_log_at_trx_commit = 0 2) SET sync_binlog = 0

وكلا سوف يساعد على تسريع الرقيق مع مستوى صغير من المخاطر وأضاف إذا كان لديك فشل الخادم.

وإضافة ذاكرة للعبد من شأنه أن يساعد على الأرجح. ذهبنا 32-128 ميغس ومتخلفة أكثر أو أقل ذهبت بعيدا. ولكن ليست رخيصة ولن يكون كافيا في جميع الحالات.

وشراء الخادم الثالث ربما لن تساعد كثيرا رغم ذلك، كنت على الأرجح مجرد الحصول على الرقيق متخلفة أخرى.

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