خوارزمية رافت: لماذا لا تشتري ريجينا جورج تنورة بمفردها؟
عن القيادة والانتخابات وتثبيت البيانات في الأنظمة الموزعة

تخيل لو صدم حافلة مدرسية صفراء ريجينا جورج. في عالم البيانات، هذه كارثة. إذا كانت ريجينا هي النسخة الوحيدة من المعلومة، فإن أفكارها حول السراويل العسكرية والأحذية المفتوحة ستموت معها ولن تتحول أبدًا إلى ‘تريند’. هذا هو جوهر المشكلة في الأنظمة الموزعة التي تحاول خوارزمية ‘رافت’ (Raft) حلها. الأمر لا يتعلق باللطف، بل بالبقاء.
في الأنظمة الموزعة، نحتاج إلى إجماع. ريجينا جورج هي ‘القائد’ (Leader) في مجموعة ‘البلاستيكس’. غريتشن وكارين هما ‘التابعان’ (Followers). لا يمكن لريجينا أن تقرر ارتداء اللون الوردي يوم الأربعاء بمفردها وتعتبره قانونًا؛ عليها أن تحصل على موافقة الأغلبية. إذا وافقت غريتشن، فقد تحقق النصاب القانوني (Quorum). اثنان من أصل ثلاثة. الآن أصبح القرار ملزمًا ومحفوظًا.
لماذا نحتاج لهذا التعقيد؟ لأن الأنظمة تفشل.
خوارزمية ‘رافت’ ظهرت أصلاً في جامعة ستانفورد (قدمها دييغو أونغارو وجون أوسترهوت) كبديل لخوارزمية ‘باكسوس’ المعقدة التي لم يكن أحد يفهمها حقًا. الهدف كان الوضوح. تمامًا مثل قوانين الثانوية، إذا لم يرسل القائد ‘نبضات قلب’ (Heartbeats) منتظمة لإثبات وجوده وسيطرته، سيفترض التابعون أنه ‘سقط’.
عندما تظهر ريجينا بسروال رياضي يوم الاثنين، تُطرد فورًا. هنا تبدأ مرحلة ‘الانتخابات’. كادي هيرون تتقدم كمرشح. تحتاج كادي لأصوات غريتشن وكارين لتصبح ‘ملكة النحل’ الجديدة. بمجرد انتخابها، تمر كل الطلبات من خلالها أولاً.
لننظر إلى ‘منبوذي الفن’. جانيس وداميان. عددهم اثنان فقط. في خوارزمية رافت، هذا العدد فخ. إذا حاولوا اتخاذ قرار، لن يتمكنوا من حل التعادل أو ضمان الأغلبية في حال غياب أحدهم. لذا، بينما تنجح ريجينا في تمرير قرار ‘4 لغلين كوكو’ لأن لديها مجموعة من ثلاثة، يفشل الآخرون في الوصول لنصاب قانوني.
الاتساق هو كل شيء. عندما يصرخ داميان ‘هي لا تذهب إلى هذه المدرسة حتى!’، تصل المعلومة إلى كادي (القائد). كادي تنقلها للبقية. بمجرد أن تؤكد كارين أو غريتشن استلام المعلومة، يتم ‘تثبيت’ (Commit) الخبر. الجميع الآن يعرف أنها لا تنتمي للمدرسة.
الأمر يبدو عشوائيًا؟ ربما. لكن في قواعد البيانات مثل CockroachDB، هذا التنسيق الصارم هو ما يمنع ضياع بياناتك عند تعطل خادم ما. لا توجد مساحة للمشاعر، فقط للأغلبية التي تضمن أن النسخة المتفق عليها من الحقيقة هي التي تعيش. إذا تعطلت عقدة (Node)، فالبقية يمتلكون السر. غريتشن تعرف، وكارين تعرف، والبيانات بأمان.








