سؤال

لقد بحثت في بعض الموارد بالفعل وتريد فقط لتوضيح والحصول على رأي.

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

لأغراض هذا السؤال أنا أتحدث عن 2 أو أكثر من طريقة النسخ المتماثل إلى حل العالمية و لدينا هوية الأعمدة.

نحن الآن إعداد النسخ المتماثل المعاملات و كل من قواعد البيانات يجب أن يماثل إلى بعضها البعض.

كما أفهم يمكنك تخصيص مجموعة من البذور القيم إلى كل ملقم قاعدة البيانات وسوف تستخدم هذه, كنت أعرف أن هناك فريدة من نوعها لأنك أعطى النطاقات التي لا تعبر.فهل هذا يعني أثناء النسخ المتماثل هذه القيم يتم إدراجها في البذور عمود ؟

لذلك إذا كنت تخصيص نطاقات 1-10 11-20 2 خوادم مرة واحدة كل ملقم إدراج الصفوف 10 سيكون لديك بذور 1-20 في كل من قواعد البيانات ؟

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

المحلول

هناك خيار "ليس من أجل النسخ المتماثل"التي يمكن تطبيقها على الهوية الأعمدة (والمشغلات وغيرها من القيود).

في المثال الخاص بك ، server1 البذور 1-10 ولكن ببساطة قبول تكرارها 11-20.

عدة طرق لوضع البذور الخاصة بك:

إما:مجموعة البذور/الزيادات مع NOT FOR النسخ المتماثل مثل هذا

  • البذور 1, 2 زيادة
  • البذور 2, زيادة 2
  • البذور -1, -2 الاضافة
  • البذور -2, -2 الاضافة
  • البذور 1000000001 ، الزيادة 2
  • البذور 1000000002 ، الزيادة 2
  • البذور -1000000002, زيادة -2
  • البذور -1000000001, زيادة -2

هذا يعطيك 500,000,000 في الخادم على 8 سيرفرات

أو:إضافة العمود الثاني يسمى ServerID لإعطاء مركب مفاتيح استخدام NOT FOR النسخ المتماثل على عمود معرف

هذه المقاييس ما يصل إلى 256 خوادم tinyint مع 2^32 الصفوف في الخادم

وفي كلتا الحالتين يعمل...

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