الهندسة

انحراف المخطط: العطل الصامت الذي لا تكشفه اختباراتك

حين يتغيّر شكل أحد المصادر، كثيراً ما تواصل خطوط البيانات عملها وتُنتج أرقاماً خاطئة بصمت.

شبكة من بلاطات زجاجية ينحرف أحد أعمدتها عن الصف

أكثر الأعطال إيلاماً هي تلك التي لا تفشل. يغيّر نظام مصدر نوع عمود من عدد صحيح إلى نص، فيتوقف ربط عن مطابقة نسبة صغيرة من الصفوف، وتبقى كل عمليات التشغيل خضراء بينما تنحرف الأرقام.

لماذا لا تكشفه الاختبارات

تفحص اختبارات dbt ما خطر لك أن تفحصه: خلوّ العمود من القيم الفارغة (not null)، والتفرّد (unique)، والقيم المقبولة (accepted values)، والعلاقات (relationships). أما انحراف المخطط فيميل إلى التسلل من بينها. فتغيير النوع لا يجعل العمود فارغاً. والعمود المحذوف الذي لم تستعلم عنه قط لا يعطّل شيئاً حتى يحتاجه أحد. وقيمة التعداد (enum) الجديدة تمرّ إن لم يكتب أحد اختباراً للقيم المقبولة.

ما الذي ينبغي مراقبته بدلاً من ذلك

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

لا يحتاج أي من هذا إلى قراءة بياناتك. فمخطط المعلومات (information schema) ونتائج التشغيل يكفيان للأوّلين، واستعلام عدّ واحد يتكفّل بالثالث.

إذا انخفض عدد الصفوف بنسبة 2% وبقي كذلك، فهذا ليس ضجيجاً، بل ربط توقّف عن المطابقة.

مثال حقيقي

أحد عملائنا مزوّد لخدمات تبريد المناطق، وقد غيّر مورّد العدادات لديه معرّف القراءة من عدد صحيح إلى نص. فأسقط ربط داخلي (inner join) بصمت نحو 2% من القراءات طوال ثلاثة أسابيع. ورصدت فحوص الحجم هذا التغيّر المفاجئ في اليوم الأول، وكان الإصلاح تحويلاً للنوع (cast) في سطر واحد، إضافة إلى اختبار لعدد الصفوف.

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

المزيد من المدوّنة

كل المقالات

كفّ عن قراءة السجلات في الساعة 2 فجراً

ابدأ مجاناً بما يصل إلى 25 نموذجاً، أو احجز عرضاً توضيحياً على مشروعك.

تحدث معنا على واتساب

تفضيلات ملفات تعريف الارتباط

سياسة ملفات الارتباط