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