تحويل الفوضى إلى الربح: فهم عملية ETL
نشرت: 2022-03-11يعد عدم وجود بيانات موثوقة من مصدر واحد أو أكثر من مصادر البيانات ، التي تم جمعها في مكان واحد ، ومنظمًا وجاهزًا للاستخدام من أحد الأخطاء الجسيمة التي تمنع الشركات من توفير معلومات اتخاذ القرار الحيوية لمستخدمي الأعمال.
تخيل هذا السيناريو - أنت مدير تقنية المعلومات في شركة أغلفة الهواتف المحمولة مع مواقع بيع بالتجزئة في جميع أنحاء الولايات المتحدة. يكافح مجلس إدارتك لاتخاذ قرارات بناءً على المبيعات لأن المعلومات متوفرة ولكنها في مواقع وأشكال مختلفة. يطلب منك أحد المديرين إنشاء لوحة معلومات بمعلومات المبيعات من جميع نقاط البيع لتقديمها في اجتماع مجلس الإدارة التالي.
أنت تعلم بالفعل أنه يكاد يكون من المستحيل دمج المعلومات بسبب التنسيقات والهياكل المختلفة. لا تزال بعض أكشاك البيع بالتجزئة تستخدم نظامًا خاصًا في قاعدة بيانات Oracle. تستخدم المتاجر الأكبر نظام Salesforce الجديد. تحتوي أحدث الأكشاك التي بدأت العمليات أثناء انتقال النظام على جداول بيانات مشتركة تُستخدم لحساب المبيعات.
كيف ستجمع جميع البيانات من مواقع وأشكال وهياكل مختلفة في قاعدة بيانات فريدة جاهزة للوصول إليها من أجل إنشاء لوحة القيادة؟
أساسيات ETL
يرمز ETL إلى الاستخراج والتحويل والتحميل . ETL عبارة عن مجموعة من العمليات المصممة لتحويل هذا المخزن المعقد من البيانات إلى عملية منظمة وموثوقة وقابلة للتكرار لمساعدة شركتك على تحقيق المزيد من المبيعات باستخدام البيانات التي لديك بالفعل.
في حالتنا ، سوف نتلقى البيانات من قاعدة بيانات Oracle (معظم الأكشاك) ، ومن Salesforce (المتاجر) ، ومن جداول البيانات (الأكشاك الأحدث) ، واستخرج البيانات ، وقم بالتحويل عند الضرورة ، وتحميلها في قاعدة بيانات مستودع بيانات واحدة لتكون يمكن الوصول إليها من خلال أدوات إعداد التقارير واستخدامها لإنشاء لوحات المعلومات وبطاقات الأداء.
دعنا نتعمق في الخطوات الثلاث لـ ETL لتوضيح هذه العملية.
استخلاص
الاستخراج هو عملية تلقي البيانات من مصادر فردية أو متعددة. يمكن أن تحتوي المصادر على تنسيقات وهياكل مختلفة ، مثل المستندات وجداول البيانات وملفات CSV والملفات الثابتة وقواعد البيانات العلائقية مثل Oracle و MySQL و SQL Server وقواعد البيانات غير العلائقية وما إلى ذلك.
هناك نوعان رئيسيان من الاستخراج: الكامل والجزئي .
- يستخدم الاستخراج الكامل لعمليات الاستخراج الأولية أو عندما تكون كمية البيانات وبالتالي وقت الاستخراج مقبولاً.
- يوصى بالاستخراج الجزئي عندما لا تكون هناك حاجة لاستخراج جميع البيانات مرة أخرى ، أو عندما تكون كمية البيانات كبيرة بما يكفي لجعل الاستخراج الكامل مستحيلاً. في الاستخراج الجزئي ، سيتم فقط استخراج البيانات المحدثة أو الجديدة.
بالإضافة إلى هذه الجوانب ، هناك بعض الاعتبارات الأخرى ضرورية عند الاختيار بين الاستخراج الكامل أو الجزئي ، وأريد أن أصف أحدها: توافر البيانات وسلامتها .
هذا يعني أنه سيتم النظر في المعاملات المكتملة فقط للاستخراج ، مما يلغي البيانات التي قد تتسبب في حدوث خطأ في التكامل. على سبيل المثال ، اختبار عبر الإنترنت لتحديد معرفة المهندس بـ 10 أسئلة. إذا كان المهندس في منتصف الاختبار وأجاب على بعض الأسئلة ولكنه لم ينته بعد ، فلن تتمكن عملية الاستخراج من قراءة الأسئلة من الاختبارات غير المكتملة. يمكن أن يسبب خطأ في السلامة.
تحويل
بعد استخراج البيانات ، يمكننا بدء عملية التحويل: تنظيف البيانات ومعالجتها وتحويلها وفقًا لقواعد العمل والمعايير الفنية للحفاظ على مستوى مقبول من جودة البيانات.
اعتمادًا على عدد من العوامل ، قد يكون استخدام منطقة التدريج ضروريًا. منطقة التدريج هي مساحة تخزين وسيطة تُستخدم لتخزين البيانات المستخرجة من مصادر البيانات المراد تحويلها مؤقتًا.
في بعض المشاريع ، عادةً تلك التي تحتوي على كمية صغيرة من البيانات ، ليست هناك حاجة لاستخدام مناطق التدريج ، ولكن معظم المشاريع تستخدمها.
هناك مجموعة من المهام التي يتم إجراؤها خلال مرحلة التحول:
- الاختيار: معايير لتحديد البيانات المستخرجة. يمكن إجراء التحديد أثناء مرحلة الاستخراج أو أثناء مرحلة التحويل أو في كلتا المرحلتين.
- التكامل: تجميع البيانات من مرحلة الاستخراج إلى منطقة التدريج. تعني هذه المجموعة إضافة وحذف وتحديث البيانات في منطقة التدريج بناءً على البيانات المستخرجة.
- الصلات : تستخدم للانضمام إلى البيانات المستخرجة ، على غرار صلات SQL (صلة داخلية ، ارتباط يسار ، انضمام يمين ، انضمام كامل ، إلخ.)
- التطهير أو التنقية: يزيل البيانات غير المتسقة أو غير الصالحة ، أو البيانات التي بها أخطاء لتحسين جودة البيانات. يزيد العمل مع مصادر بيانات متعددة من فرص وجود مشكلات في البيانات تحتاج إلى التنظيف ، مثل:
- تكامل مرجعي (عميل له فئة غير موجودة)
- قيم مفقودة (العميل بدون معرف)
- التفرد (أكثر من شخص بنفس رقم الضمان الاجتماعي)
- الأخطاء الإملائية (صن دييغو ، كانادا ، إل أنجليس)
- قيم متناقضة (Alex dob 04.27.1974 ، Alex dob 04.14.2000)
- وغيرها الكثير
- التلخيصات: لخص مجموعات البيانات للاستخدام اللاحق
- التجميعات: تجميع البيانات وتلخيصها في مجموعات
- التوحيد: بيانات من مصادر متعددة أو هياكل مدمجة في مجموعة واحدة من البيانات
فيما يلي بعض أنواع التحويل الشائعة:
- حذف البيانات المكررة
- تقسيم ودمج
- التحويلات (التاريخ والوقت وأقنعة الأرقام والقياسات)
- ترميز (ذكر إلى م)
- العمليات الحسابية (item_value = unit_Price * الكمية)
- توليد المفتاح
جار التحميل
أخيرًا وليس آخرًا ، تتمثل العملية النهائية في ETL في تحميل البيانات إلى الوجهة. التحميل هو عملية إدخال البيانات المحولة (من منطقة التدريج أم لا) في المستودع ، وعادة ما تكون قاعدة بيانات مستودع البيانات.
هناك ثلاثة أنواع رئيسية من بيانات التحميل: كاملة أو أولية ، وتزايدية ، وتحديث.
- تعني كلمة كاملة أو أولية حمولة كاملة من البيانات المستخرجة والمحولة. سيتم تحميل جميع البيانات الموجودة في منطقة التدريج إلى الوجهة النهائية لتكون جاهزة لمستخدمي الأعمال.
- الحمل الإضافي هو عملية مقارنة البيانات المحولة بالبيانات الموجودة في الوجهة النهائية وتحميل البيانات الجديدة فقط. يمكن استخدام الحمل الإضافي جنبًا إلى جنب مع تحميل التحديث الموضح أدناه.
- تحميل التحديث هو عملية تحديث البيانات في الوجهة النهائية لتعكس التغييرات التي تم إجراؤها في المصدر الأصلي. يمكن أن يكون التحديث كاملاً أو تزايديًا.
باختصار ، يمكن لكل شركة ، بغض النظر عن حجمها ، استخدام عمليات ETL لدمج المعلومات الموجودة بالفعل وتوليد ثروة أكبر من المعلومات لصنع القرار ، وتحويل البيانات التي لم يكن من الممكن استخدامها في السابق إلى مصدر جديد للإيرادات.

اختبارات
يعد الاختبار أحد أهم مراحل ETL ، ومع ذلك فهو أحد أكثر المراحل التي يتم تجاهلها أيضًا.
يعد تحويل البيانات من مصادر وهياكل مختلفة وتحميلها إلى مستودع بيانات أمرًا معقدًا للغاية ويمكن أن يؤدي إلى حدوث أخطاء. تم وصف الأخطاء الأكثر شيوعًا في مرحلة التحويل أعلاه.
دقة البيانات هي مفتاح النجاح ، بينما عدم الدقة وصفة لكارثة. لذلك ، فإن محترفي ETL لديهم مهمة لضمان سلامة البيانات أثناء العملية برمتها. بعد كل مرحلة ، يجب إجراء اختبار. سواء كان استخراج البيانات من مصدر واحد أو من مصادر متعددة ، يجب التحقق من البيانات للتأكد من عدم وجود أخطاء.
يجب أن يتم نفس الشيء بعد أي تحول. على سبيل المثال ، عند تلخيص البيانات أثناء مرحلة التحويل ، يجب فحص البيانات لضمان عدم فقد أي بيانات وأن المبالغ صحيحة.
بعد تحميل البيانات المحولة في مستودع البيانات ، يجب تطبيق عملية الاختبار مرة أخرى. يجب مقارنة البيانات المحملة بالبيانات المحولة وبعد ذلك بالبيانات المستخرجة.
في مثال شركة الهاتف الخلوي الخاص بنا ، نحن نعمل مع ثلاثة مصادر مختلفة (قاعدة بيانات Oracle الخاصة ، و Salesforce ، وجداول البيانات) وتنسيقات مختلفة. يمكن أن تستخدم مرحلة الاختبار بيانات نموذجية من المصادر الأصلية ومقارنتها بالبيانات الموجودة في منطقة التدريج لضمان حدوث الاستخراج بدون أخطاء.
يجب مقارنة بيانات العينة - التي يمكن أن تكون في هذه الحالة معلومات مبيعات من ثلاثة مواقع مختلفة (متاجر ، وأكشاك قديمة ، وأكشاك جديدة) - بالمصدر الأصلي. يجب تحليل الاختلافات ، إن وجدت ، لمعرفة ما إذا كانت مقبولة أم أنها أخطاء.
إذا تم العثور على أخطاء ، فيجب إصلاحها ، وهناك بعض القرارات التي يجب اتخاذها إذا كنت بحاجة إلى إصلاحها: هل يجب تعديل البيانات الأصلية؟ هل ممكن عمل ذلك؟ إذا تعذر إصلاح الأخطاء في المصدر الأصلي ، فهل يمكن إصلاحها ببعض التحويل؟
في بعض الحالات ، يجب حذف البيانات التي بها أخطاء وإطلاق تنبيه لإبلاغ المسؤولين.
بعض أمثلة الاختبار:
- تتطلب البيانات التحقق من صحة
- جودة البيانات
- أداء
- قواعد البيانات
- نمذجة البيانات
تسجيل
تسجيل عمليات ETL هو الضمان الرئيسي لامتلاكك أنظمة قابلة للصيانة وسهلة الإصلاح.
يعد ETL مع عملية التسجيل الصحيحة أمرًا مهمًا للحفاظ على عملية ETL بأكملها في حالة من التحسين المستمر ، مما يساعد الفريق على إدارة الأخطاء والمشاكل المتعلقة بمصادر البيانات وتنسيقات البيانات والتحولات والوجهات ، إلخ.
تساعد عملية السجل القوية الفرق على توفير الوقت مما يتيح لهم تحديد المشكلات بسرعة وسهولة أكبر ، ويحتاج المهندسون الرئيسيون إلى وقت أقل لتحديد المشكلة بشكل مباشر. في بعض الأحيان ، تحدث أخطاء في منتصف عملية استخراج أطنان من البيانات ، وبدون وجود سجل ، يكون تحديد المشكلة صعبًا - وفي بعض الأحيان يكاد يكون مستحيلاً. بدون سجلات ، يجب إعادة تشغيل العملية برمتها. باستخدام السجلات ، يمكن للفريق تحديد الملف والصف الذي تسبب في المشكلة بسرعة ويمكنه إصلاح تلك البيانات فقط.
الحالة الوحيدة التي يمكنني تخيلها حيث لا تكون السجلات مهمة للغاية مع أنظمة صغيرة جدًا غير آلية ، حيث يتم تشغيل العملية يدويًا وهناك كمية صغيرة من البيانات التي يمكن مراقبتها يدويًا.
تعمل السجلات على تحسين الأتمتة. تحتاج معالجة ETL بكمية كبيرة من البيانات التي يتم تشغيلها تلقائيًا إلى أنظمة تسجيل. إذا تم التخطيط والتنفيذ بشكل جيد ، فإن كل الجهود المبذولة لبناء نظام تسجيل ستؤتي ثمارها في شكل تحديد أسرع للخطأ ، وبيانات أكثر موثوقية ، ونقاط التحسين الموجودة في ملفات السجل.
هناك ثلاث خطوات رئيسية لإنشاء نظام السجل: الإنشاء والأرشفة والتحليل .
- التوليد هو عملية توثيق ما يجري أثناء تنفيذ خطوط أنابيب ETL: عند بدء العملية ، والملف أو الجدول الذي يتم استخراجه ، والبيانات التي يتم حفظها في منطقة التدريج ، ورسائل الخطأ ، والمزيد. يجب تسجيل جميع المعلومات المهمة التي يمكن أن تساعد المهندسين. تنبيه : انتبه إلى عدم إنشاء الكثير من المعلومات التي ستستهلك الوقت والمكان ولن تكون مفيدة.
- أرشفة بيانات السجل تعني الاحتفاظ بسجل تتبع لعمليات التنفيذ السابقة للبحث في السيناريوهات السابقة لتحديد الأخطاء أو المقارنة مع السيناريو الحالي بحثًا عن التحسينات. من المهم التحقق من ملاءمة نقطة معينة في التاريخ لحفظها - البيانات من وقت طويل ، حيث تغير الهيكل عدة مرات ، لا يستحق الاحتفاظ بها.
- حلل . تحليل السجل له أهمية حاسمة. لا معنى لتخزين الكثير من البيانات التي لم يتم تحليلها. إن إنشاء البيانات وتخزينها يتطلب وقتًا ومالًا فقط. يعد تحليل السجل مهمًا ليس فقط للمساعدة في البحث عن الأخطاء ولكن لتحديد نقاط التحسين وزيادة جودة البيانات الإجمالية أيضًا.
أداء
يمكن أن تعمل عمليات ETL مع أطنان من البيانات وقد تكلف الكثير - سواء من حيث الوقت المنقضي لإعدادها أو من حيث الموارد الحسابية اللازمة لمعالجة البيانات. عند التخطيط لعملية تكامل ، يجب على المهندسين أن يضعوا في اعتبارهم ضرورة استخدام جميع البيانات. أفضل ما يمكنك فعله هو العمل بالحد الأدنى من البيانات لتحقيق الأهداف ، بدلاً من قضاء الوقت والمال فقط في ترحيل البيانات غير المجدية. ضع في اعتبارك أيضًا أن كميات البيانات تميل إلى الزيادة بمرور الوقت ، لذا حاول التفكير في احتياجاتك المستقبلية.
ما مقدار الجهد الذي يجب أن يبذل في تصميم نظام التسجيل؟
يعتمد ذلك على عدد من العوامل المختلفة مثل كمية وتكرار البيانات المراد معالجتها. يمكن إدارة الأنظمة الصغيرة ذات البيانات القليلة يدويًا ، دون الحاجة إلى الاستثمار في أنظمة تسجيل متقدمة.
يجب أن تستثمر الشركات التي لديها كمية كبيرة من البيانات والعديد من العمليات المختلفة ومصادر وتنسيقات بيانات مختلفة وخطوط الأنابيب المعقدة في إنشاء أنظمة تسجيل. كما ذكرنا سابقًا ، يمكن أن يوفر نظام السجل الجيد الكثير من الوقت والمال.
للحصول على نهج أكثر وضوحًا ، بغض النظر عن حجم الشركة وكمية البيانات وتكرار التكامل ، يجب أن تكون عملية ETL مربحة . يجب أن يدر الاستثمار في الوقت والمال والموارد التقنية عوائد - كما قال الخبير الاقتصادي ميلتون فريدمان: "لا يوجد غداء مجاني".
باختصار ، يمكن أن تساعد عملية ETL الشركات على زيادة أرباحها بالبيانات التي لديها بالفعل ولكن لا يتم استخدامها بالطريقة الصحيحة. يمكن أن تدمج خطوط أنابيب ETL أنظمة مختلفة ، وجداول البيانات التي تحتوي على معلومات مهمة ، وأجزاء أخرى من البيانات المنتشرة حول الأقسام والفروع المختلفة ، مما يسمح للمؤسسات بالاستفادة القصوى من بياناتها.