almessadi.
العودة إلى الفهرس

SQL الموزع لا يزال يرث فيزياء الإجماع_

CockroachDB من الأسهل فهمه عند النظر إلى Raft، والإجماع، والlatency بدلاً من اعتبار SQL الموزع كـ Postgres عادي مع المزيد من العقد.

تاريخ النشر15 ديسمبر 2024
وقت القراءة6 min read

SQL الموزع جذاب لأنه يوفر وصولاً عَلاقةً أعلى بنية تحتية مكررة. الخطأ هو توقع أن يتصرف مثل Postgres أحادي العقدة العادي مع توفر إضافي.

لا يزال يرث فيزياء الإجماع.

النموذج الذهني الذي يساعد

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

الصورة المبسطة هي:

  • يحصل مالك الإيجار على الكتابة
  • يتكرر أتباع النسخ المدونة
  • يعترف الإجماع
  • تسجل الكتابة

لهذا السبب فإن الطوبولوجيا مهمة جداً. قاعدة البيانات "لا تكون بطيئة بدون سبب." إنها تقوم بعمل التنسيق.

لماذا يظهر هذا في الإنتاج

بمجرد أن تفهم مسار الإجماع، تصبح عدة سلوكيات أقل دهشة:

  • الكتابات عبر المناطق تكلف المزيد من التأخير
  • يمكن أن تتسبب نطاقات النقاط الساخنة في التحميل الزائد على مالك الإيجار
  • استعادة فشل العقدة تتعلق بالإجماع، وليس فقط إعادة تشغيل العمليّة
  • تؤثر قرارات محلية القراءة والكتابة على تجربة المستخدم

يشتري SQL الموزع اتساقاً قوياً ومرونة تشغيلية، لكنه لا يلغي مشكلة سرعة الضوء.

قاعدة أفضل

استخدم CockroachDB عندما تبرر نموذج التوفر والتوزيع تكلفة الإجماع. إذا كانت الأحمال غالبًا في منطقة واحدة وحساسة لتأخير، قد تظل تنفيذ Postgres المدارة بشكل جيد هي الخيار الهندسي الأفضل.

قراءة إضافية