تقنيات التحقق من صحة البيانات الشائعة للتحليلات ولماذا تحتاج إليها
نشرت: 2022-12-19ملاحظة المحرر: تم نشر هذه المقالة في الأصل على المدونة التكرارية في 14 ديسمبر 2020.
في نهاية اليوم ، يجب اختبار تحليلات البيانات الخاصة بك مثل أي رمز آخر. إذا لم تتحقق من صحة هذا الرمز - والبيانات التي ينتجها - فقد يكون مكلفًا (مثل 9.7 مليون دولار أمريكي سنويًا ، وفقًا لشركة Gartner).
لتجنب هذا المصير ، يمكن للشركات ومهندسيها الاستفادة من عدد من تقنيات التحقق من صحة البيانات الاستباقية والتفاعلية. نوصي بشدة بالأول ، كما سنوضح أدناه. سيساعد النهج الاستباقي للتحقق من صحة البيانات الشركات على ضمان أن البيانات الموجودة لديها نظيفة وجاهزة للعمل معها.
تقنيات التحقق من صحة البيانات التفاعلية مقابل الأساليب الاستباقية: قم بحل مشكلات البيانات قبل أن تصبح مشكلة
"درهم وقاية خير من قنطار علاج". إنه قول قديم صحيح في أي موقف تقريبًا ، بما في ذلك تقنيات التحقق من صحة البيانات للتحليلات. هناك طريقة أخرى لقول ذلك وهي أنه من الأفضل أن تكون استباقيًا بدلاً من أن تكون رد فعل.
الغرض من أي التحقق من صحة البيانات هو تحديد المواضع التي قد تكون فيها البيانات غير دقيقة أو غير متسقة أو غير كاملة أو حتى مفقودة.
بحكم التعريف ، يتم التحقق من صحة البيانات التفاعلية بعد الحقيقة ويستخدم الكشف عن الشذوذ لتحديد أي مشكلات قد تواجهها بياناتك وللمساعدة في تخفيف أعراض البيانات السيئة. في حين أن هذه الأساليب أفضل من لا شيء ، إلا أنها لا تحل المشكلات الأساسية التي تسبب البيانات السيئة في المقام الأول.
بدلاً من ذلك ، نعتقد أن الفرق يجب أن تحاول تبني تقنيات التحقق من صحة البيانات الاستباقية لتحليلاتها ، مثل أمان النوع والتخطيط ، لضمان دقة البيانات التي يحصلون عليها وكاملة وفي الهيكل المتوقع (وأن أعضاء الفريق المستقبليين ليس لديهم لمصارعة شفرة التحليلات السيئة).
في حين أنه قد يبدو واضحًا اختيار نهج التحقق الأكثر شمولاً ، ينتهي الأمر بالعديد من الفرق إلى استخدام التحقق التفاعلي من صحة البيانات. يمكن أن يكون هذا لعدد من الأسباب. غالبًا ما يكون رمز التحليلات فكرة متأخرة للعديد من الفرق التي لا تعتمد على البيانات ، وبالتالي تُترك دون اختبار.
من الشائع أيضًا ، للأسف ، معالجة البيانات دون أي تحقق من صحة. بالإضافة إلى ذلك ، لا يُلاحظ رمز التحليلات الضعيف إلا عندما يكون سيئًا حقًا ، وعادةً بعد أسابيع عندما يلاحظ شخص ما تقريرًا خاطئًا بشكل فاضح أو حتى مفقود.
قد تبدو تقنيات التحقق من صحة البيانات التفاعلية مثل تحويل بياناتك في المستودع الخاص بك باستخدام أداة مثل dbt أو Dataform.
على الرغم من أن كل هذه الطرق قد تساعدك في حل مشكلات البيانات الخاصة بك (وغالبًا باستخدام أدوات رائعة بشكل موضوعي) ، فإنها لا تزال لن تساعدك على معالجة السبب الأساسي لبياناتك السيئة (على سبيل المثال ، إدارة البيانات المجزأة أو التحليلات التي يتم تنفيذها في مشروع- على أساس كل مشروع على حدة دون التواصل بين الفريق) في المقام الأول ، مما يجعلك تعود إليهم في كل مرة.
التحقق من صحة البيانات التفاعلية ليس كافياً وحده ؛ تحتاج إلى استخدام تقنيات استباقية للتحقق من صحة البيانات من أجل أن تكون فعالًا حقًا وتتجنب المشكلات المكلفة المذكورة سابقًا. إليكم السبب:
- البيانات هي رياضة جماعية. لا يقتصر الأمر على قسم واحد أو فرد واحد فقط لضمان نظافة بياناتك. يتطلب الأمر من الجميع العمل معًا لضمان بيانات عالية الجودة وحل المشكلات قبل حدوثها.
- يجب أن يكون التحقق من صحة البيانات جزءًا من دورة حياة تطوير البرامج (SDLC). عندما تقوم بدمجه في SDLC الخاص بك وبالتوازي مع التطوير القائم على الاختبار وعملية ضمان الجودة الآلية (بدلاً من إضافتها كفكرة لاحقة) ، فإنك توفر الوقت عن طريق منع مشكلات البيانات بدلاً من استكشاف الأخطاء وإصلاحها لاحقًا.
- يمكن دمج التحقق الاستباقي من صحة البيانات في أدواتك الحالية وخطوط أنابيب CI / CD. يعد هذا أمرًا سهلاً لفرق التطوير لديك لأنهم استثمروا بالفعل في أتمتة الاختبار ويمكنهم الآن توسيعها بسرعة لإضافة تغطية للتحليلات أيضًا.
- يعد اختبار التحقق من صحة البيانات الاستباقي أحد أفضل الطرق التي يمكن للفرق سريعة الحركة العمل بها بكفاءة. إنه يضمن قدرتهم على التكرار بسرعة وتجنب انحراف البيانات ومشكلات المصب الأخرى.
- يمنحك التحقق من صحة البيانات الاستباقي الثقة في تغيير التعليمات البرمجية وتحديثها حسب الحاجة مع تقليل عدد الأخطاء التي سيتعين عليك سحقها لاحقًا. تضمن هذه العملية الاستباقية أنك وفريقك يغيرون فقط الكود المرتبط مباشرة بالبيانات التي تهتم بها.
الآن وقد حددنا سبب أهمية التحقق من صحة البيانات الاستباقي ، فإن السؤال التالي هو: كيف تفعل ذلك؟ ما هي الأدوات والأساليب التي تستخدمها الفرق للتأكد من أن بياناتهم جيدة قبل ظهور المشاكل؟
دعنا نتعمق.
طرق التحقق من صحة البيانات
التحقق من صحة البيانات ليس مجرد خطوة واحدة تحدث في نقطة معينة. يمكن أن يحدث ذلك في نقاط متعددة في دورة حياة البيانات - عند العميل أو على الخادم أو في خط الأنابيب أو في المستودع نفسه.
إنه في الواقع مشابه جدًا لاختبار البرامج بشكل كبير من نواح كثيرة. ومع ذلك ، هناك اختلاف رئيسي واحد. أنت لا تختبر النواتج وحدها ؛ أنت تؤكد أيضًا أن مدخلات بياناتك صحيحة.
دعنا نلقي نظرة على الشكل الذي يبدو عليه التحقق من صحة البيانات في كل موقع ، ونفحص أيها تفاعلي وأيها استباقي.
تقنيات التحقق من صحة البيانات في العميل
يمكنك استخدام أدوات مثل Amplitude Data للاستفادة من أمان النوع واختبار الوحدة والفحص (تحليل الكود الثابت) للتحقق من صحة البيانات من جانب العميل.
الآن ، هذه نقطة انطلاق رائعة ، لكن من المهم أن تفهم نوع اختبار هذا النوع من الأدوات الذي يتيح لك القيام به في هذه الطبقة. هنا تفصيل:
- أمان النوع هو عندما يتحقق المترجم من أنواع البيانات وتعليمات التنفيذ عند المصدر ، مما يمنع أخطاء المصب بسبب الأخطاء المطبعية أو المتغيرات غير المتوقعة.
- يتم اختبار الوحدة عندما تختبر مجموعة محددة من التعليمات البرمجية بمعزل عن غيرها. لسوء الحظ ، لا تدمج معظم الفرق التحليلات في اختبارات الوحدة الخاصة بهم عندما يتعلق الأمر بالتحقق من صحة تحليلاتهم.
- يتم اختبار A / B عند اختبار تدفق تحليلاتك مقابل مجموعة بيانات الحالة الذهبية (نسخة من تحليلاتك تعرف أنها مثالية) أو نسخة من بيانات الإنتاج الخاصة بك. يساعدك هذا في معرفة ما إذا كانت التغييرات التي تجريها جيدة وتحسن الوضع الحالي.
تقنيات التحقق من صحة البيانات في خط الأنابيب
يدور التحقق من صحة البيانات في خط الأنابيب حول التأكد من أن البيانات التي يرسلها العميل تتطابق مع تنسيق البيانات في المستودع الخاص بك. إذا لم يكن الاثنان في نفس الصفحة ، فلن يحصل مستهلكو البيانات (مديرو المنتجات ، ومحللو البيانات ، وما إلى ذلك) على معلومات مفيدة من الجانب الآخر.
قد تبدو طرق التحقق من صحة البيانات في خط الأنابيب كما يلي:
- التحقق من صحة المخطط للتأكد من تطابق تتبع الأحداث مع ما تم تحديده في سجل المخطط الخاص بك.
- اختبار التكامل والمكونات عبر اختبارات الأداة الرئيسية العلائقية والفريدة والبديلة في أداة مثل dbt للتأكد من أن التتبع بين الأنظمة الأساسية يعمل بشكل جيد.
- اختبار الحداثة عبر أداة مثل dbt لتحديد مدى "حداثة" بيانات المصدر (ويعرف أيضًا باسم مدى حداثتها وصحتها).
- اختبارات التوزيع باستخدام أداة مثل Great Expectations للحصول على تنبيهات عندما لا تتطابق مجموعات البيانات أو العينات مع المدخلات المتوقعة والتأكد من أن التغييرات التي تم إجراؤها على التتبع لا تفسد تدفقات البيانات الحالية.
تقنيات التحقق من صحة البيانات في المستودع
يمكنك استخدام اختبار dbt واختبار نموذج البيانات والتوقعات العظيمة للتأكد من أن البيانات التي يتم إرسالها إلى المستودع الخاص بك تتوافق مع الاصطلاحات التي تتوقعها وتحتاجها. يمكنك أيضًا إجراء عمليات تحويل في هذه الطبقة ، بما في ذلك التحقق من النوع وسلامة النوع ضمن تلك التحويلات ، لكننا لا نوصي بهذه الطريقة باعتبارها أسلوب التحقق الأساسي الخاص بك نظرًا لأنها تفاعلية.
في هذه المرحلة ، تتضمن طرق التحقق المتاحة للفرق التحقق من أن البيانات تتوافق مع اصطلاحات معينة ، ثم تحويلها لمطابقتها. يمكن للفرق أيضًا استخدام اختبارات العلاقة والحداثة باستخدام dbt ، بالإضافة إلى اختبار القيمة / النطاق باستخدام Great Expectations.
تنخفض جميع وظائف هذه الأداة إلى عدد قليل من تقنيات التحقق من صحة البيانات الرئيسية في هذه الطبقة:
- التخطيط للتأكد من توافق بيانات CRUD والتحويلات مع الاصطلاحات المحددة.
- اختبار الأمان لضمان توافق البيانات مع متطلبات الأمان مثل القانون العام لحماية البيانات (GDPR).
- اختبار العلاقة في أدوات مثل dbt للتأكد من أن الحقول في نموذج واحد تعين الحقول في جدول معين (ويعرف أيضًا باسم التكامل المرجعي).
- اختبار الحداثة والتوزيع (كما ذكرنا في قسم خطوط الأنابيب).
- فحص النطاق والنوع الذي يؤكد أن البيانات التي يتم إرسالها من العميل ضمن النطاق أو التنسيق المتوقع للمستودع.
يمكن العثور على مثال رائع للعديد من هذه الاختبارات في العمل من خلال البحث في اكتشاف Lyft ومحرك البيانات الوصفية Amundsen. تتيح هذه الأداة لمستهلكي البيانات في الشركة البحث في بيانات تعريف المستخدم لزيادة قابليتها للاستخدام والأمان. طريقة Lyft الرئيسية لضمان جودة البيانات وقابليتها للاستخدام هي نوع من تعيين الإصدار عبر مهمة Airflow لتنظيف الرسم البياني والتي تحذف البيانات القديمة والمكررة عند إضافة بيانات جديدة إلى المستودعات الخاصة بهم.
لماذا حان الوقت الآن لتبني تقنيات أفضل للتحقق من صحة البيانات
في الماضي ، كافحت فرق البيانات في التحقق من صحة البيانات لأن مؤسساتهم لم تدرك أهمية حفظ البيانات وحوكمتها. هذا ليس العالم الذي نعيش فيه بعد الآن.
أصبحت الشركات تدرك أن جودة البيانات أمر بالغ الأهمية. مجرد تنظيف البيانات السيئة بطريقة تفاعلية ليس جيدًا بما يكفي. يعد تعيين فرق من مهندسي البيانات لتنظيف البيانات من خلال التحويل أو كتابة استعلامات SQL لا نهاية لها استخدامًا غير ضروري وغير فعال للوقت والمال.
كان من المقبول الحصول على بيانات دقيقة بنسبة 80٪ (إعطاء أو أخذ ، اعتمادًا على حالة الاستخدام) ، تاركًا هامش خطأ بنسبة 20٪. قد يكون ذلك جيدًا بالنسبة للتحليل البسيط ، لكنه ليس جيدًا بما يكفي لتشغيل محرك توصيات المنتج ، أو اكتشاف الحالات الشاذة ، أو اتخاذ قرارات تجارية أو منتجات حاسمة.
تقوم الشركات بتوظيف مهندسين لإنشاء منتجات والقيام بعمل رائع. إذا كان عليهم قضاء بعض الوقت في التعامل مع البيانات السيئة ، فإنهم لا يستغلون وقتهم إلى أقصى حد. لكن التحقق من صحة البيانات يمنحهم ذلك الوقت مرة أخرى للتركيز على ما يفعلونه بشكل أفضل: خلق قيمة للمؤسسة.
الخبر السار هو أن البيانات عالية الجودة في متناول اليد. لتحقيق ذلك ، تحتاج الشركات إلى مساعدة الجميع على فهم قيمتها من خلال تفكيك الصوامع بين منتجي البيانات ومستهلكي البيانات. بعد ذلك ، يجب على الشركات التخلص من جداول البيانات وتطبيق ممارسات هندسية أفضل على تحليلاتها ، مثل تعيين الإصدار والتخطيط. أخيرًا ، يجب عليهم التأكد من اتباع أفضل ممارسات البيانات في جميع أنحاء المنظمة مع خطة للتتبع وإدارة البيانات.
استثمر في التحقق من صحة التحليلات الاستباقية لكسب أرباح البيانات
في عالم اليوم ، لم تعد أدوات وطرق التحقق من صحة البيانات التفاعلية والضمنية كافية بعد الآن. إنها تكلفك الوقت والمال ، وربما الأهم من ذلك ، الثقة.
لتجنب هذا المصير ، اعتنق فلسفة المبادرة. حدد المشكلات قبل أن تصبح مشكلات باهظة الثمن عن طريق التحقق من صحة بيانات التحليلات الخاصة بك من البداية وطوال دورة حياة تطوير البرامج.