هندسة البيانات / المتوسط: التغيير والزمن والتنسيق / الدرس 12
جودة البيانات والمرفوض والمنشأ
حول الجودة لدليل محدد واحفظ منشأ يفسر النتيجة، وميز غياب الفشل المكتشف وإثبات الصحة الكاملة.
في هذه الصفحة
أهداف الدرس
- تعريف الاكتمال والتفرد والاتساق بالمستوى الصحيح.
- تسجيل منشأ المدخل والتحويل والخرج والرفض.
يحتاج تحقق الجودة مجتمعاً ومعنى
يسأل الاكتمال هل وصل المجتمع الموعود، والصلاحية هل تحقق القيم القاعدة، والتفرد عن الهوية، والاتساق عن العلاقات والمعاني. تضيف الحداثة الزمن، لكن النشر الحديث قد يحوي أحداثاً قديمة أو ناقصة. حدد ما يمنع النشر وما ينتج تحذيراً أو جزئياً موسوماً صراحة. قد تخفي درجة عامة فشل ثابت حرج خلف نجاحات سهلة كثيرة. ميز المنطبق والفاشل والناجح وغير المقاس، مع المالك وحداثة الدليل لا نسبة خضراء فقط.
احسب المقبول والمرفوض صراحة
يفصل المصنف المحلي ثلاثة سجلات كمية مخترعة إلى مقبول ومرفوض. يشمل ثابت الحساب النتيجتين حتى لا يمحو الترشيح صفاً من سجل التشغيل بصمت. يتحقق من قاعدة الصحيح غير السالب فقط، لا كل حقل أو اكتمال تسليم المصدر. احفظ هوية المرفوض وسبباً محدوداً لإصلاحه باحتفاظ يراعي الخصوصية. إذا سمح العقد بنشر جزئي فيجب أن يراه المستهلك؛ لا يثبت توازن المقبول والمرفوض أن الجزء المقبول هو المجتمع الكامل الموعود.
rows = [{'id': 'a', 'qty': 2}, {'id': 'b', 'qty': -1}, {'id': 'c', 'qty': 0}]
accepted = [r for r in rows if type(r['qty']) is int and r['qty'] >= 0]
rejected = [r for r in rows if not (type(r['qty']) is int and r['qty'] >= 0)]
assert [r['id'] for r in accepted] == ['a', 'c']
assert [r['id'] for r in rejected] == ['b']
assert len(accepted) + len(rejected) == len(rows)
يحسب المقبولان والمرفوض الثلاثة ولا يثبت غياب ملف مفقود.
يربط المنشأ النتيجة بسياق إنتاجها
ينبغي أن يعرف المنشأ إصدارات المصدر وكود التحويل وإعداده والفترة المنطقية وإصدار الخرج والفحوص. توفر W3C PROV مفردات رسمية للكيانات والأنشطة والفاعلين؛ أما سجل التمرين فبيانات تطبيق أبسط، لا تسلسلاً كاملاً وفق PROV. يفسر المنشأ المصدر، لكن الثقة تحتاج جمعاً موثقاً وسياسة وصول أيضاً. ليس الوسم المعدل يدوياً منشأ مشفراً. احتفظ بما يكفي للإعادة والتحقيق دون إلقاء الأسرار أو الحمولات الخاصة غير اللازمة في فهرس مشترك.
اكتب سجل منشأ اصطناعياً محدوداً
يربط JSON إصدار خرج واحداً بهويات مدخل وتحويل معلنة ومعرف فحص قبول محلي. لا يدعي نجاح تشغيل فعلي ولا يحمل نظام جدولة. استخدم في الإنتاج هويات مستقرة يمكن الرجوع إليها وفق سياسة الاحتفاظ، وسجل حالة الدليل الحقيقية. لا يفسر مسار يشير لاحقاً لبايتات أخرى نتيجة قديمة بموثوقية. احفظ المحاولات الفاشلة والمنشورات المقبولة معاً لتمييز عيب التحويل والمدخل المفقود والاعتماد القديم والتدخل اليدوي الخاطئ.
{
"outputVersion": "lab-shipments-clean-v2",
"inputs": ["lab-source-snapshot-v1"],
"activity": "normalize-quantities-v2",
"interval": "2026-10-01",
"checks": ["LOCAL-INPUT-ACCOUNTING"],
"evidenceState": "synthetic-example"
}
يحدد العلاقات فقط لا خدمة أو امتثال PROV أو إيصال تشغيل.
استخدم الجودة للإصلاح والتغيير
اختبر المقبول والمرفوض والغائب والمكرر والمتعارض بنتائج متوقعة معلومة. قارن قبول البيانات عبر الفترات وتغير المخطط، ولا تجعل اختباراً تاريخياً ناجحاً يصادق كل تشغيل لاحق. عين في التنبيه المجموعات والمالكين وأثر المستهلك، لا عد صفوف عام فقط. يساعد المنشأ والجودة على تحديد الملء أو الرجوع ولا يصلحان الحالة بذاتهما. احفظ خطة إعادة معتمدة وتحقق من قبول اللاحق بعد التصحيح، بما في ذلك هل استبدل المستهلك النتيجة المعدلة أم أضافها مرة أخرى.
الأخطاء الشائعة وإصلاحها
تخفي الدرجة فشلاً حرجاً
- لماذا يحدث؟
- غطى المتوسط ثابتاً حاجباً.
- كيف تصلحه؟
- أبلغ الحرج منفرداً بملكية.
- كيف تتجنب تكراره؟
- افصل المجهول والفشل والنجاح.
يشير مسار المنشأ لمدخل مختلف
- لماذا يحدث؟
- اعتبر الموقع المتغير هوية.
- كيف تصلحه؟
- استخدم إصداراً ومحتوى محفوظين.
- كيف تتجنب تكراره؟
- اختبر الإعادة بعد الاستبدال.
يعد المرفوض ولا يمكن إصلاحه
- لماذا يحدث؟
- أهملت الهوية أو السبب أو المالك.
- كيف تصلحه؟
- احفظ دليل إصلاح محدوداً باحتفاظ معتمد.
- كيف تتجنب تكراره؟
- اختبر مسار الرفض للتصحيح.
اختبر فهمك
1. يساوي المقبول والمرفوض المدخل. هل ثبت اكتمال المصدر؟
اعرض الحل المشروح
لا. يحسب التحقق السجلات المعطاة، ولا يكشف ملفاً أو فترة مصدر لم تصلا أصلاً ما لم يوجد فحص مستقل للمجتمع المتوقع. تحقق من الحساب الداخلي والاكتمال الخارجي مقابل وصف مصدر أو عقد ذي هوية. تدعم التحققات المختلفة ادعاءات مختلفة.
2. لماذا تحفظ منشأ الفاشل مع استهلاك المقبول فقط؟
اعرض الحل المشروح
يفسر المنشأ الآثار الجزئية وقرارات الإصلاح وسبب اختلاف اللاحق. قد يحتاج الحادث تحديد المصدر أو التحويل أو التدخل اليدوي الذي مس الحالة قبل النشر. احفظ دليلاً مناسباً محدوداً لا أسراراً ونسخ حمولات بلا قيد، واربطه بهويات التشغيل والخرج.
أهم ما تعلمته
- تحتاج الجودة مجتمعاً ونتيجة ومالكاً.
- يفسر المنشأ السياق ولا يصادق أو يصلح تلقائياً.