تقنية

تصحيح بيانات قديمة: أي قيمة كانت معروفة عند التنبؤ؟

قيمة تخص الثامنة سجلت اثنين في التاسعة وثلاث دقائق ثم صححت إلى خمسة في التاسعة وعشر دقائق ولذلك كانت النسخة المعروفة عند التاسعة وخمس دقائق هي اثنين
رسم أصلي لتاريخ مراجعة مؤلف؛ يفترض حفظ النسختين ولا يوثق واقعة مخزون حقيقية.

تصحيح بيانات قديمة عند التنبؤ يطرح سؤالين مختلفين: ما القيمة التي نسجلها الآن عن ذلك الوقت، وما القيمة التي كانت معروفة حين أعددنا التوقع؟ قد تغير المراجعة اللاحقة جواب الأول، دون أن تغير ما كان متاحا بالفعل في الماضي.

الخلاصة السريعة

لإعادة مدخل توقع قديم، تحتاج النسخة التي كانت معروفة حينها، حتى إذا صححت قيمة تخص ذلك الوقت في سجل أحدث.

  • يفصل شرح التاريخ ثنائي الزمن بين التاريخ الذي تصفه القيم وتاريخ تغير معرفتنا بها. [1] لذلك لا يكفي وقت واحد لكل استفسار تاريخي.
  • في مثالنا تسجل 09:03 قيمة 2 تخص 08:00 ، ثم تسجل 09:10 تصحيحا إلى 5 للوقت 08:00 نفسه. عند 09:05 كانت النسخة المعروفة 2 ، وعند 09:11 أصبحت 5.
  • فلترة السجل الأحدث بوقت 08:00 فقط قد تعيد 5 ، لكنها لا تجعل 5 معلومة متاحة عند 09:05. استعادة النسخة القديمة تتطلب تاريخا محفوظا بالفعل.
  • حدد هل تريد أحدث وصف مصحح أم إعادة المعلومات المتاحة آنذاك، واحفظ وقت تسجيل كل مراجعة. التصحيح المسجل لا يثبت وحده أنه حقيقة نهائية أو أن النموذج تحسن.

لماذا نحتاج بعدين للوقت؟

يشرح Martin Fowler التاريخ ثنائي الزمن بوصفه فصلًا بين التاريخ الفعلي الذي نريد وصفه وتاريخ تغير معرفتنا المسجلة به، خصوصا مع التحديثات بأثر رجعي. [1]

نستعمل هنا عبارتين واضحتين: «وقت تخصه القيمة» و«وقت تسجيل نسختها». الأولى تحدد نقطة الواقع أو الفترة التي يصفها الحقل. والثانية تحدد متى صارت تلك النسخة معلومة في النظام الذي نراجعه.

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

كيف تتغير المعرفة عن الوقت نفسه؟

نؤلف سجل عدد قطع في حاوية عند 08:00. في 09:03 تصل نسخة تسجل العدد 2 ، وفي 09:10 تسجل مراجعة تصححه إلى 5 عن 08:00 نفسه. نفترض أن هذين وقتا توفر النسختين في النظام المعني، وأن الأولى محفوظة ولم تمح.

إذا أعددنا توقعا عند 09:05 بالاعتماد على هذا الحقل، فالنسخة المعروفة في فرض المثال تحمل 2. وإذا سألنا عند 09:11 عن أحدث عدد مسجل للساعة 08:00 ، فالنسخة الأحدث تحمل 5. السؤالان يخصان وقت العدد نفسه، لكن وقت المعرفة مختلف.

هذه تواريخ وأعداد تعليمية، ولم نراجع عدّا أو نظام مخزون فعليا. كذلك لا توجد واقعة تعدل ما عرفه النظام عند 09:05 إلى 5 بأثر رجعي لمجرد أن المراجعة تشير إلى 08:00.

وقت تخصه القيمةوقت تسجيل النسخةالقيمة المسجلة
08:0009:032
08:0009:105: تصحيح لاحق

لماذا لا يكفي فلتر الوقت القديم؟

قد يحتوي ملف مصحح لاحق على صف 08:00 بقيمة 5 فقط. فلتر «وقت القيمة قبل 09:05» سيقبل هذا الصف، لكنه لا يسأل متى عرفنا نسخته. لذلك لا يثبت قبول الفلتر أن 5 كانت من مدخلات التوقع القديم.

في مثال تعليمي لاستعادة المدخل، نطلب القيمة الخاصة بالساعة 08:00 كما كانت معروفة عند 09:05. يحتاج هذا الطلب إلى سجل مراجعات أو لقطات تحافظ على تلك المعرفة، وإلى ربط النسخ بالحقل والكيان الصحيحين.

إذا محا التحديث القديم دون تاريخ، فلا نخترع 2 من الملف الحالي. نذكر أن إعادة المدخل غير متحققة بالمصدر المتاح، أو نبحث عن سجل مستقل مناسب. معرفة تاريخ التصحيح الحالي لا تعيد تلقائيا محتوى النسخة المفقودة.

أي نسخة نخزن لكل استعمال؟

يمكن أن نحتاج أحدث وصف مصحح في تقرير مراجعة، وأن نحتاج النسخة المتاحة آنذاك لتفسير توقع قديم. لا نجعل أحد السؤالين يحل محل الآخر؛ نكتب وقت القيمة ووقت المعرفة المقصودين بجوار كل استخراج.

نقترح حفظ أصل الحقل والنسخ السابقة ووقت تسجيلها وسبب المراجعة عندما يتوفر، مع تعريف النظام الذي يعنيه التوفر. فقد يعرف فريق معلومة قبل وصولها إلى مسار التنبؤ؛ لا نفترض تساوي الأوقات دون توثيق.

ولا تجعل كلمة «تصحيح» المعلومة حقيقة نهائية بلا دليل على صحتها. كما أن استعمال النسخة المناسبة يحسن وصف إجراء التقييم، لكنه لا يثبت رقم دقة أو يضمن أداء نموذج لم نشغله.

المصادر ومتابعة القراءة

  1. Martin Fowler: Bitemporal History (يفتح في نافذة جديدة)martinfowler.com

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.