استخراج، تحويل، تحميل

تُعدّ عملية الاستخراج والتحويل والتحميل ( ETL ) عملية حاسوبية ثلاثية المراحل، حيث تُستخرج البيانات من مصدر إدخال، ثم تُحوّل (بما في ذلك تنظيفها )، وأخيرًا تُحمّل في حاوية بيانات إخراج. يمكن جمع البيانات من مصدر واحد أو أكثر، كما يمكن إخراجها إلى وجهة واحدة أو أكثر. تُنفّذ عملية ETL عادةً باستخدام تطبيقات برمجية ، ولكن يمكن أيضًا تنفيذها يدويًا بواسطة مشغلي النظام. عادةً ما تُؤتمت برامج ETL العملية بأكملها، ويمكن تشغيلها يدويًا أو وفقًا لجداول زمنية دورية، إما كمهام فردية أو مجمعة في مجموعة من المهام.
يستخرج نظام ETL المصمم بشكل صحيح البيانات من الأنظمة المصدرية، ويفرض معايير نوع البيانات وصحتها، ويضمن توافقها هيكليًا مع متطلبات المخرجات. كما يمكن لبعض أنظمة ETL تقديم البيانات بتنسيق جاهز للعرض، مما يُمكّن مطوري التطبيقات من بناء تطبيقاتهم، ويُمكّن المستخدمين النهائيين من اتخاذ القرارات. [ 1 ]
تُستخدم عملية استخراج البيانات وتحويلها وتحميلها (ETL) بشكل شائع في مستودعات البيانات . [ 2 ] عادةً ما تدمج أنظمة ETL البيانات من تطبيقات (أنظمة) متعددة، يتم تطويرها ودعمها عادةً من قِبل موردين مختلفين أو استضافتها على أجهزة حاسوب منفصلة. غالبًا ما تتم إدارة وتشغيل الأنظمة المنفصلة التي تحتوي على البيانات الأصلية من قِبل جهات معنية مختلفة . على سبيل المثال، قد يجمع نظام محاسبة التكاليف بيانات من الرواتب والمبيعات والمشتريات.
تتضمن عملية استخراج البيانات استخلاصها من مصادر متجانسة أو غير متجانسة؛ أما عملية تحويل البيانات فتتضمن تنظيفها وتحويلها إلى تنسيق/بنية تخزين مناسبة لأغراض الاستعلام والتحليل؛ وأخيرًا، يصف تحميل البيانات إدخالها في قاعدة البيانات المستهدفة النهائية، مثل مخزن البيانات التشغيلي ، أو سوق البيانات ، أو بحيرة البيانات ، أو مستودع البيانات. [ 3 ] [ 4 ]
تُستخدم عمليات ETL و ELT (الاستخراج، التحميل، التحويل) بشكل متزايد في مستودعات البيانات السحابية. ولا تقتصر التطبيقات على المعالجة الدفعية فحسب، بل تشمل أيضًا البث المباشر للبيانات.
المراحل
يستخرج
تتضمن عملية ETL استخراج البيانات من النظام (الأنظمة) المصدر. في كثير من الحالات، يُمثل هذا الجانب الأهم في عملية ETL، إذ يُهيئ استخراج البيانات بشكل صحيح الظروف لنجاح العمليات اللاحقة. تجمع معظم مشاريع مستودعات البيانات بيانات من أنظمة مصدرية مختلفة. وقد يستخدم كل نظام منفصل تنظيمًا و/أو تنسيقًا مختلفًا للبيانات . [ 5 ] تشمل تنسيقات مصادر البيانات الشائعة قواعد البيانات العلائقية ، وقواعد البيانات ذات الملفات المسطحة ، و XML ، و JSON ، ولكنها قد تشمل أيضًا هياكل قواعد بيانات غير علائقية مثل نظام إدارة المعلومات من IBM ، أو هياكل بيانات أخرى مثل طريقة الوصول إلى التخزين الافتراضي (VSAM) أو طريقة الوصول التسلسلي المفهرس (ISAM) ، أو حتى تنسيقات يتم جلبها من مصادر خارجية عبر وسائل مثل برامج زحف الويب أو استخراج البيانات . [ 5 ] يُعد بث مصدر البيانات المستخرج وتحميله مباشرةً إلى قاعدة البيانات الوجهة طريقة أخرى لتنفيذ ETL عندما لا تكون هناك حاجة إلى تخزين وسيط للبيانات. [ 6 ]
يتضمن جزء أساسي من عملية الاستخراج التحقق من صحة البيانات للتأكد من أن البيانات المستخرجة من المصادر تحتوي على القيم الصحيحة/المتوقعة في نطاق معين (مثل نمط/قيمة افتراضية أو قائمة قيم). إذا لم تستوفِ البيانات قواعد التحقق، يتم رفضها كليًا أو جزئيًا. [ 7 ] من الأفضل إرسال البيانات المرفوضة إلى النظام المصدر لمزيد من التحليل لتحديد السجلات غير الصحيحة وتصحيحها أو إجراء معالجة البيانات .
تحويل
في مرحلة تحويل البيانات ، يتم تطبيق سلسلة من القواعد أو الوظائف على البيانات المستخرجة من أجل تجهيزها للتحميل في الوجهة النهائية. [ 5 ] [ 6 ]
من الوظائف المهمة للتحويل تنقية البيانات ، والتي تهدف إلى تمرير البيانات "الصحيحة" فقط إلى الهدف. يكمن التحدي عند تفاعل الأنظمة المختلفة في واجهات هذه الأنظمة وتواصلها. قد لا تتوفر مجموعات الأحرف في نظام ما في أنظمة أخرى. [ 8 ]
في حالات أخرى، قد يكون من الضروري استخدام نوع واحد أو أكثر من أنواع التحويل التالية لتلبية الاحتياجات التجارية والتقنية للخادم أو مستودع البيانات: [ 9 ]
- يتم تحديد أعمدة معينة فقط لتحميلها (أو استبعاد الأعمدة الفارغة ). على سبيل المثال، إذا كانت بيانات المصدر تحتوي على ثلاثة أعمدة (تُعرف أيضًا باسم "السمات")، وهي رقم الطالب، والعمر، والراتب، فقد يقتصر التحديد على رقم الطالب والراتب فقط. أو قد تتجاهل آلية التحديد جميع السجلات التي لا تحتوي على قيمة للراتب (الراتب = فارغ).
- ترجمة القيم المشفرة. على سبيل المثال، إذا كان النظام المصدر يرمز للذكر بـ "1" وللأنثى بـ "2"، ولكن المستودع يرمز للذكر بـ "M" وللأنثى بـ "F".
- ترميز القيم الحرة. على سبيل المثال، ربط "ذكر" بـ "M".
- استخلاص قيمة محسوبة جديدة. على سبيل المثال،
sale_amount = qty * unit_price. - فرز أو ترتيب البيانات بناءً على قائمة من الأعمدة لتحسين أداء البحث.
- دمج البيانات من مصادر متعددة ( على سبيل المثال ، البحث، الدمج) وإزالة البيانات المكررة .
- التجميع. على سبيل المثال، التجميع التراكمي - تلخيص صفوف متعددة من البيانات - إجمالي المبيعات لكل متجر، ولكل منطقة، وما إلى ذلك.
- إنشاء قيم المفاتيح البديلة .
- التبديل أو التدوير (تحويل عدة أعمدة إلى عدة صفوف أو العكس).
- تقسيم عمود إلى عدة أعمدة. على سبيل المثال، تحويل قائمة مفصولة بفواصل ، محددة كسلسلة نصية في عمود واحد، إلى قيم فردية في أعمدة مختلفة.
- تفكيك الأعمدة المتكررة.
- البحث عن البيانات ذات الصلة والتحقق من صحتها من الجداول أو الملفات المرجعية.
- تطبيق أي شكل من أشكال التحقق من صحة البيانات. قد يؤدي فشل التحقق إلى رفض البيانات كليًا، أو جزئيًا، أو عدم رفضها على الإطلاق، وبالتالي لا يتم تمرير أي من البيانات، أو بعضها، أو كلها إلى الخطوة التالية اعتمادًا على تصميم القاعدة ومعالجة الاستثناءات؛ قد ينتج عن العديد من التحويلات المذكورة أعلاه استثناءات، على سبيل المثال، عندما يقوم برنامج ترجمة التعليمات البرمجية بتحليل رمز غير معروف في البيانات المستخرجة.
حمولة
تُحمّل مرحلة التحميل البيانات إلى الوجهة النهائية، والتي قد تكون أي مخزن بيانات، بما في ذلك ملف نصي بسيط أو مستودع بيانات . وتختلف هذه العملية اختلافًا كبيرًا تبعًا لمتطلبات المؤسسة. قد تقوم بعض مستودعات البيانات باستبدال المعلومات الموجودة بمعلومات تراكمية، ويتم تحديث البيانات المستخرجة بشكل متكرر يوميًا أو أسبوعيًا أو شهريًا. بينما قد تضيف مستودعات بيانات أخرى (أو حتى أجزاء أخرى من نفس مستودع البيانات) بيانات جديدة بشكل تاريخي على فترات منتظمة، مثلاً كل ساعة. لفهم ذلك، لنفترض مستودع بيانات مطلوب منه الاحتفاظ بسجلات مبيعات العام الماضي. يقوم هذا المستودع باستبدال أي بيانات أقدم من عام ببيانات أحدث. ومع ذلك، يتم إدخال البيانات لأي فترة زمنية مدتها عام واحد بشكل تاريخي. يُعد توقيت ونطاق الاستبدال أو الإضافة من خيارات التصميم الاستراتيجية التي تعتمد على الوقت المتاح واحتياجات العمل . يمكن للأنظمة الأكثر تعقيدًا الاحتفاظ بسجل تاريخي ومسار تدقيق لجميع التغييرات التي طرأت على البيانات المحملة في مستودع البيانات. أثناء تفاعل مرحلة التحميل مع قاعدة البيانات، يتم تطبيق القيود المحددة في مخطط قاعدة البيانات - وكذلك في المشغلات التي يتم تنشيطها عند تحميل البيانات - (على سبيل المثال، التفرد، والتكامل المرجعي ، والحقول الإلزامية)، والتي تساهم أيضًا في الأداء العام لجودة البيانات لعملية ETL.
- على سبيل المثال، قد تمتلك مؤسسة مالية معلومات عن عميل في عدة أقسام، وقد يعرض كل قسم معلومات هذا العميل بطريقة مختلفة. فقسم العضوية قد يعرض العميل باسمه، بينما يعرضه قسم المحاسبة برقمه. تتيح تقنية ETL تجميع كل هذه البيانات وتوحيدها في عرض موحد، كما هو الحال عند تخزينها في قاعدة بيانات أو مستودع بيانات.
- تستخدم الشركات تقنية ETL أيضاً لنقل المعلومات بشكل دائم إلى تطبيق آخر. على سبيل المثال، قد يستخدم التطبيق الجديد مزود قاعدة بيانات مختلفاً، وغالباً ما يستخدم مخطط قاعدة بيانات مختلفاً تماماً. يمكن استخدام ETL لتحويل البيانات إلى تنسيق مناسب للتطبيق الجديد.
- ومن الأمثلة على ذلك نظام استرداد المصروفات والتكاليف الذي تستخدمه مكاتب المحاسبة والاستشارات والمحاماة . وعادةً ما تُدمج البيانات في نظام إدارة الوقت والفواتير ، مع أن بعض الشركات قد تستخدم البيانات الأولية أيضًا لإعداد تقارير إنتاجية الموظفين لقسم الموارد البشرية أو تقارير استخدام المعدات لقسم إدارة المرافق.
مراحل إضافية
قد تتضمن دورة ETL في الحياة الواقعية خطوات تنفيذ إضافية، على سبيل المثال:
- بدء الدورة (قبل ETL: التأكد من أن جميع الأنظمة ذات الصلة بـ ETL متاحة، وتعمل بشكل صحيح، ولا توجد بها أي مشكلات قد تؤدي إلى توقفها فجأة بعد ساعة من بدء ETL، مثل اشتراكات الحوسبة/الذاكرة/التخزين الصالحة بين الشركات ومفاتيح API، وميزانية مرضية للوقت/المال المقدر، وعدم وجود مهام ذات أولوية أعلى).
- بناء بيانات مرجعية (أي الربط ( وليس النسخ الورقي ) بخطوط أساسية تاريخية موثوقة)
- استخراج (من مصادر البيانات)
- التحقق من صحة البيانات (التأكد من إمكانية استخدامها في نهاية المطاف ؛ فالبيانات ليست عديمة الفائدة بنسبة 100%)
- تحويل ( تنظيف ، تطبيق قواعد العمل ، التحقق من سلامة البيانات ، إنشاء تجميعات أو تفكيكات)
- المرحلة (تحميل البيانات إلى جداول التجهيز ، إذا تم استخدامها)
- تقارير التدقيق (على سبيل المثال، بشأن الامتثال لقواعد العمل. كما أنها تساعد في تشخيص الأعطال وإصلاحها في حالة حدوثها).
- انشر (إلى الجداول المستهدفة)
- الأرشفة (ضغط فائق الكفاءة في استخدام المساحة للبيانات القديمة قليلة الاستخدام. قد يؤدي ذلك إلى فقدان البيانات في بعض الحالات )
تحديات التصميم
قد تنطوي عمليات ETL على قدر كبير من التعقيد، وقد تحدث مشاكل تشغيلية كبيرة مع أنظمة ETL المصممة بشكل غير صحيح.
اختلافات البيانات
قد يتجاوز نطاق قيم البيانات أو جودتها في نظام تشغيلي توقعات المصممين عند تحديد قواعد التحقق والتحويل. ويمكن لتحليل بيانات المصدر أثناء عملية التحليل تحديد ظروف البيانات التي يجب إدارتها من خلال مواصفات قواعد التحويل، مما يؤدي إلى تعديل قواعد التحقق المطبقة صراحةً وضمنًا في عملية استخراج البيانات وتحويلها وتحميلها (ETL).
تُبنى مستودعات البيانات عادةً من مصادر بيانات متنوعة ذات تنسيقات وأغراض مختلفة. ولذلك، تُعدّ عملية استخراج البيانات وتحويلها وتحميلها (ETL) عملية أساسية لجمع كل البيانات في بيئة موحدة ومتجانسة.
ينبغي أن يحدد تحليل التصميم [ 10 ] قابلية نظام ETL للتوسع طوال فترة استخدامه، بما في ذلك فهم أحجام البيانات التي يجب معالجتها ضمن اتفاقيات مستوى الخدمة . قد يتغير الوقت المتاح للاستخراج من الأنظمة المصدرية، مما قد يعني ضرورة معالجة نفس كمية البيانات في وقت أقل. يجب أن تتوسع بعض أنظمة ETL لمعالجة تيرابايتات من البيانات لتحديث مستودعات البيانات التي تحتوي على عشرات التيرابايتات من البيانات. قد تتطلب الأحجام المتزايدة من البيانات تصميمات قابلة للتوسع من معالجة الدفعات اليومية إلى معالجة الدفعات الصغيرة متعددة الأيام، وصولاً إلى التكامل مع قوائم انتظار الرسائل أو التقاط بيانات التغيير في الوقت الفعلي للتحويل والتحديث المستمر.
تفرد المفاتيح
تلعب المفاتيح الفريدة دورًا هامًا في جميع قواعد البيانات العلائقية، إذ تربط جميع البيانات ببعضها. المفتاح الفريد هو عمود يُعرّف كيانًا معينًا، بينما المفتاح الأجنبي هو عمود في جدول آخر يُشير إلى مفتاح أساسي. قد تتكون المفاتيح من عدة أعمدة، وفي هذه الحالة تُسمى مفاتيح مركبة. في كثير من الأحيان، يكون المفتاح الأساسي عددًا صحيحًا مُولّدًا تلقائيًا لا يُمثل أي كيان تجاري ، وإنما يُستخدم فقط لأغراض قاعدة البيانات العلائقية - ويُشار إليه عادةً بالمفتاح البديل .
نظرًا لوجود أكثر من مصدر بيانات يتم تحميله عادةً في مستودع البيانات، تُعدّ المفاتيح من الأمور المهمة التي يجب مراعاتها. على سبيل المثال: قد يكون للعملاء بيانات في مصادر متعددة، حيث يكون رقم الضمان الاجتماعي الخاص بهم هو المفتاح الأساسي في أحد المصادر، ورقم الهاتف في مصدر آخر، ومفتاح بديل في مصدر ثالث. ومع ذلك، قد يتطلب مستودع البيانات دمج جميع معلومات العملاء في بُعد واحد .
تتمثل إحدى الطرق الموصى بها للتعامل مع هذه المشكلة في إضافة مفتاح بديل للمستودع، والذي يُستخدم كمفتاح خارجي من جدول الحقائق. [ 11 ]
عادةً ما تحدث التحديثات على بيانات المصدر الخاصة بالبعد، والتي يجب أن تنعكس في مستودع البيانات.
إذا كان المفتاح الأساسي لبيانات المصدر مطلوبًا لإعداد التقارير، فإن البُعد يحتوي بالفعل على هذه المعلومة لكل صف. أما إذا كانت بيانات المصدر تستخدم مفتاحًا بديلًا، فيجب على مستودع البيانات تتبعه حتى وإن لم يُستخدم في الاستعلامات أو التقارير؛ ويتم ذلك بإنشاء جدول بحث يحتوي على المفتاح البديل لمستودع البيانات والمفتاح الأصلي. [ 12 ] وبهذه الطريقة، لا يتلوث البُعد بقيم بديلة من أنظمة مصادر مختلفة، مع الحفاظ على إمكانية التحديث.
يُستخدم جدول البحث بطرق مختلفة تبعًا لطبيعة بيانات المصدر. هناك خمسة أنواع يجب أخذها في الاعتبار؛ [ 12 ] ثلاثة منها مُدرجة هنا:
- النوع 1
- يتم تحديث صف البُعد ببساطة ليطابق الحالة الحالية للنظام المصدر؛ ولا يحتفظ المستودع بالسجل التاريخي؛ ويُستخدم جدول البحث لتحديد صف البُعد المراد تحديثه أو استبداله.
- النوع 2
- تمت إضافة صف بُعد جديد بالحالة الجديدة لنظام المصدر؛ وتم تعيين مفتاح بديل جديد؛ ولم يعد مفتاح المصدر فريدًا في جدول البحث.
- تم تسجيل البيانات بالكامل
- تتم إضافة صف بُعد جديد مع الحالة الجديدة لنظام المصدر، بينما يتم تحديث صف البُعد السابق ليعكس أنه لم يعد نشطًا ووقت إلغاء التنشيط.
أداء
يقوم موردو ETL بتقييم أنظمة التسجيل الخاصة بهم عند عدة تيرابايت في الساعة (أو ~1 جيجابايت في الثانية) باستخدام خوادم قوية مزودة بوحدات معالجة مركزية متعددة، ومحركات أقراص صلبة متعددة، واتصالات شبكة جيجابت متعددة، وذاكرة كبيرة.
في الواقع العملي، عادةً ما تحدث أبطأ مراحل عملية ETL في مرحلة تحميل قاعدة البيانات. قد يكون أداء قواعد البيانات بطيئًا نظرًا لحاجتها إلى إدارة التزامن، والحفاظ على سلامة البيانات، والفهارس. لذا، لتحسين الأداء، قد يكون من الأنسب استخدام ما يلي:
- يُفضل استخدام طريقة الاستخراج المباشر أو التفريغ المجمع كلما أمكن ذلك (بدلاً من الاستعلام عن قاعدة البيانات) لتقليل الحمل على النظام المصدر مع الحصول على استخراج عالي السرعة
- تتم معظم عمليات التحويل خارج قاعدة البيانات
- عمليات التحميل بالجملة كلما أمكن ذلك
مع ذلك، حتى مع استخدام عمليات الاستخراج والتحميل المجمعة، يظل الوصول إلى قاعدة البيانات عادةً هو العائق الرئيسي في عملية الاستخراج والتحميل. ومن الطرق الشائعة المستخدمة لزيادة الأداء ما يلي:
- جداول التقسيم (والفهارس): حاول الحفاظ على تشابه أحجام الأقسام (انتبه
nullللقيم التي يمكن أن تؤثر على عملية التقسيم). - قم بإجراء جميع عمليات التحقق في طبقة ETL قبل التحميل: قم بتعطيل التحقق من سلامة البيانات
disable constraint( ...) في جداول قاعدة البيانات المستهدفة أثناء التحميل - قم بتعطيل المشغلات (
disable trigger...) في جداول قاعدة البيانات المستهدفة أثناء التحميل: قم بمحاكاة تأثيرها كخطوة منفصلة - قم بإنشاء المعرفات في طبقة ETL (وليس في قاعدة البيانات)
- قم بحذف الفهارس (على جدول أو قسم) قبل التحميل - وأعد إنشائها بعد التحميل (SQL:
drop index...; create index...) - استخدم التحميل المجمع المتوازي كلما أمكن ذلك - يعمل بشكل جيد عندما يكون الجدول مقسمًا أو لا توجد فهارس (ملاحظة: محاولة إجراء عمليات تحميل متوازية في نفس الجدول (القسم) عادة ما تتسبب في حدوث عمليات قفل - إن لم يكن على صفوف البيانات، فعلى الفهارس).
- إذا كانت هناك حاجة لإجراء عمليات إدراج أو تحديث أو حذف، فحدد الصفوف التي يجب معالجتها وكيفية معالجتها في طبقة ETL، ثم قم بمعالجة هذه العمليات الثلاث في قاعدة البيانات بشكل منفصل؛ غالبًا ما يمكنك إجراء تحميل مجمع لعمليات الإدراج، ولكن عمليات التحديث والحذف تتم عادةً من خلال واجهة برمجة التطبيقات (باستخدام SQL ).
قد ينطوي اختيار تنفيذ عمليات معينة داخل قاعدة البيانات أو خارجها على مفاضلة. على سبيل المثال، distinctقد يكون حذف التكرارات بطيئًا داخل قاعدة البيانات، لذا يُفضّل تنفيذه خارجها. من جهة أخرى، إذا distinctقلّل استخدام هذه الطريقة عدد الصفوف المراد استخراجها بشكل ملحوظ (١٠٠ ضعف)، فمن المنطقي حذف التكرارات في أقرب وقت ممكن داخل قاعدة البيانات قبل تفريغ البيانات.
من أكثر المشاكل شيوعًا في عمليات استخراج البيانات وتحويلها وتحميلها (ETL) كثرة التبعيات بين مهامها. على سبيل المثال، لا يمكن بدء المهمة "ب" قبل انتهاء المهمة "أ". يمكن عادةً تحسين الأداء من خلال تمثيل جميع العمليات بيانيًا، ومحاولة تقليص حجم الرسم البياني بالاستفادة القصوى من التوازي ، وتقصير سلاسل المعالجة المتتالية قدر الإمكان. كما أن تقسيم الجداول الكبيرة وفهارسها يُعدّ مفيدًا للغاية.
تظهر مشكلة شائعة أخرى عندما تتوزع البيانات على عدة قواعد بيانات، ويتم معالجتها في تلك القواعد بالتتابع. في بعض الأحيان، قد تُستخدم عملية نسخ البيانات بين قواعد البيانات، مما قد يُبطئ العملية بشكل ملحوظ. الحل الشائع هو تقليص مخطط المعالجة إلى ثلاث طبقات فقط.
- مصادر
- طبقة ETL المركزية
- الأهداف
يُتيح هذا الأسلوب للمعالجة الاستفادة القصوى من التوازي. على سبيل المثال، إذا كنت بحاجة إلى تحميل البيانات في قاعدتي بيانات، يمكنك تشغيل عمليات التحميل بالتوازي (بدلاً من التحميل في الأولى ثم نسخها إلى الثانية).
في بعض الأحيان، يجب أن تتم المعالجة بشكل تسلسلي. على سبيل المثال، يلزم الحصول على بيانات الأبعاد (المرجعية) قبل الحصول على الصفوف والتحقق من صحتها لجداول "الحقائق" الرئيسية .
الحوسبة المتوازية
تتضمن بعض تطبيقات برامج ETL المعالجة المتوازية . وهذا يتيح عدداً من الطرق لتحسين الأداء العام لعملية ETL عند التعامل مع كميات كبيرة من البيانات.
تُطبّق تطبيقات ETL ثلاثة أنواع رئيسية من التوازي:
- البيانات: من خلال تقسيم ملف تسلسلي واحد إلى ملفات بيانات أصغر لتوفير الوصول المتوازي
- خط الأنابيب : يسمح بتشغيل عدة مكونات في وقت واحد على نفس تدفق البيانات ، على سبيل المثال، البحث عن قيمة في السجل 1 في نفس الوقت الذي يتم فيه إضافة حقلين في السجل 2
- المكون: التشغيل المتزامن لعمليات متعددة على تدفقات بيانات مختلفة في نفس المهمة، على سبيل المثال فرز ملف إدخال واحد مع إزالة التكرارات من ملف آخر
عادةً ما تعمل الأنواع الثلاثة من التوازي مجتمعة في مهمة واحدة.
تكمن صعوبة إضافية في ضمان اتساق البيانات المُحمّلة. فنظرًا لاختلاف دورات تحديث قواعد البيانات المصدرية (إذ قد تُحدّث بعضها كل بضع دقائق، بينما قد يستغرق تحديث البعض الآخر أيامًا أو أسابيع)، قد يتطلب الأمر من نظام ETL الاحتفاظ ببعض البيانات لحين مزامنة جميع المصادر. وبالمثل، عندما يتطلب الأمر مطابقة مستودع البيانات مع محتويات نظام مصدري أو مع دفتر الأستاذ العام، يصبح من الضروري تحديد نقاط المزامنة والمطابقة.
استعادة النظام في حالة الفشل
عادةً ما تُقسّم إجراءات مستودعات البيانات عملية استخراج البيانات وتحويلها وتحميلها (ETL) الكبيرة إلى أجزاء أصغر تُنفّذ بالتتابع أو بالتوازي. ولتتبع تدفقات البيانات، يُنصح بترقيم كل صف بيانات بـ "row_id"، وترقيم كل جزء من العملية بـ "run_id". في حال حدوث عطل، تُساعد هذه المعرّفات على التراجع عن الجزء المعطل وإعادة تشغيله.
تتضمن أفضل الممارسات أيضًا نقاط التفتيش ، وهي حالات تُشير إلى اكتمال مراحل معينة من العملية. عند الوصول إلى نقطة تفتيش، يُنصح بكتابة كل شيء على القرص، وحذف بعض الملفات المؤقتة، وتسجيل الحالة، وما إلى ذلك.
التطبيقات
قد يُحسّن إطار عمل ETL مُعتمد الاتصال وقابلية التوسع . يجب أن تكون أداة ETL الجيدة قادرة على التواصل مع قواعد البيانات العلائقية المختلفة وقراءة تنسيقات الملفات المتنوعة المستخدمة في المؤسسة. بدأت أدوات ETL بالانتقال إلى أنظمة تكامل تطبيقات المؤسسات ، أو حتى أنظمة ناقل خدمات المؤسسات ، التي تغطي الآن نطاقًا أوسع بكثير من مجرد استخراج البيانات وتحويلها وتحميلها. يمتلك العديد من موردي ETL الآن إمكانيات تحليل البيانات وجودتها وبياناتها الوصفية . من الاستخدامات الشائعة لأدوات ETL تحويل ملفات CSV إلى تنسيقات قابلة للقراءة بواسطة قواعد البيانات العلائقية. تُسهّل أدوات ETL عملية ترجمة ملايين السجلات ، حيث تُمكّن المستخدمين من إدخال ملفات بيانات شبيهة بملفات CSV واستيرادها إلى قاعدة البيانات بأقل قدر ممكن من التعليمات البرمجية.
تُستخدم أدوات ETL عادةً من قِبل شريحة واسعة من المتخصصين، بدءًا من طلاب علوم الحاسوب الذين يسعون إلى استيراد مجموعات بيانات ضخمة بسرعة، وصولًا إلى مهندسي قواعد البيانات المسؤولين عن إدارة حسابات الشركات. وقد أصبحت هذه الأدوات أداةً ملائمةً يُمكن الاعتماد عليها لتحقيق أقصى أداء. تحتوي معظم أدوات ETL على واجهة مستخدم رسومية تُسهّل على المستخدمين تحويل البيانات باستخدام مُخطط بيانات مرئي، بدلًا من كتابة برامج ضخمة لتحليل الملفات وتعديل أنواع البيانات.
بينما كانت أدوات استخراج البيانات وتحويلها وتحميلها (ETL) مخصصة تقليديًا للمطورين وموظفي تقنية المعلومات، أشارت شركة الأبحاث غارتنر إلى أن التوجه الجديد هو توفير هذه الإمكانيات لمستخدمي الأعمال ليتمكنوا من إنشاء الاتصالات وتكامل البيانات بأنفسهم عند الحاجة، بدلاً من اللجوء إلى موظفي تقنية المعلومات. [ 13 ] وتُطلق غارتنر على هؤلاء المستخدمين غير التقنيين اسم "مُكاملِي البيانات من المواطنين". [ 14 ]
الاختلافات
في معالجة المعاملات عبر الإنترنت

في تطبيقات معالجة المعاملات عبر الإنترنت (OLTP)، تُكتشف التغييرات من مثيلات OLTP الفردية وتُسجل في لقطة، أو دفعة، من التحديثات. ويمكن استخدام مثيل ETL لجمع كل هذه الدفعات بشكل دوري، وتحويلها إلى تنسيق موحد، وتحميلها إلى بحيرة بيانات أو مستودع بيانات. [ 1 ]
ETL افتراضي
يمكن استخدام تقنية المحاكاة الافتراضية للبيانات لتحسين عمليات استخراج البيانات وتحويلها وتحميلها (ETL). وقد أتاح تطبيق هذه التقنية حلّ أكثر مهام ETL شيوعًا، وهي ترحيل البيانات وتكامل التطبيقات لمصادر بيانات متعددة ومتفرقة. تعمل تقنية ETL الافتراضية مع تمثيل مجرد للكائنات أو الكيانات المُجمّعة من مصادر بيانات متنوعة، علائقية وشبه مهيكلة وغير مهيكلة . تستفيد أدوات ETL من نمذجة الكائنات وتعمل مع تمثيلات الكيانات المخزنة بشكل دائم في بنية مركزية مركزية . تُسمى هذه المجموعة التي تحتوي على تمثيلات الكيانات أو الكائنات المُجمّعة من مصادر البيانات لمعالجة ETL بمستودع البيانات الوصفية، ويمكن تخزينها في الذاكرة أو جعلها دائمة. باستخدام مستودع بيانات وصفية دائم، يمكن لأدوات ETL الانتقال من مشاريع لمرة واحدة إلى برمجيات وسيطة دائمة، مما يُتيح لها إجراء مواءمة البيانات وتحليلها باستمرار وفي وقت شبه فوري.
استخراج، تحميل، تحويل (ELT)
تُعدّ عملية الاستخراج والتحميل والتحويل (ELT) أحد أشكال عملية الاستخراج والتحميل والتحويل (ETL)، حيث يتم تحميل البيانات المستخرجة إلى النظام المستهدف أولاً. [ 15 ] كما يجب أن يراعي تصميم مسار التحليلات مكان تنظيف البيانات وإثرائها [ 15 ] ، بالإضافة إلى كيفية توحيد الأبعاد. [ 1 ] تشمل بعض مزايا عملية ELT السرعة والقدرة على التعامل بسهولة أكبر مع البيانات غير المهيكلة والمهيكلة على حد سواء. [ 16 ]
تناول كتاب رالف كيمبال وجو كاسيرتا بعنوان "مجموعة أدوات ETL لمستودع البيانات " (دار وايلي للنشر، 2004)، والذي يُستخدم ككتاب دراسي في دورات تدريس عمليات ETL في مستودعات البيانات، هذه المسألة. [ 17 ]
توفر مستودعات البيانات السحابية، مثل Amazon Redshift وGoogle BigQuery و Microsoft Azure Synapse Analytics و Snowflake ، قدرة حوسبة عالية التوسع. وهذا يُمكّن الشركات من الاستغناء عن عمليات التحويل المسبقة ونسخ البيانات الخام إلى مستودعات بياناتها، حيث يمكن تحويلها حسب الحاجة باستخدام لغة SQL .
بعد استخدام تقنية استخراج البيانات وتحويلها وتحميلها (ELT)، يمكن معالجة البيانات بشكل أكبر وتخزينها في مستودع بيانات. [ 18 ]
تميل معظم أدوات تكامل البيانات نحو عمليات الاستخراج والتحميل والتحويل (ETL)، بينما تحظى عمليات الاستخراج والتحميل والتحويل (ELT) بشعبية في قواعد البيانات ومستودعات البيانات. وبالمثل، من الممكن تنفيذ عمليات التحويل والاستخراج والتحميل (TEL) حيث يتم تحويل البيانات أولاً على سلسلة الكتل (كطريقة لتسجيل التغييرات التي تطرأ على البيانات، مثل حرق الرموز المميزة) قبل استخراجها وتحميلها إلى مخزن بيانات آخر. [ 19 ]
انظر أيضاً
- النمط المعماري (الهندسة المعمارية المرجعية EA)
- خطوط أنابيب CMS
- إنشاء، قراءة، تحديث، وحذف (CRUD)
- تنظيف البيانات
- تكامل البيانات
- شبكة البيانات ، بنية بيانات موجهة نحو المجال
- ترحيل البيانات
- تحويل البيانات (الحوسبة)
- تبادل البيانات الإلكترونية (EDI)
- هندسة المؤسسة
- معيار تبادل البيانات الإلكترونية القانونية (LEDES)
- اكتشاف البيانات الوصفية
- المعالجة التحليلية عبر الإنترنت (OLAP)
- معالجة المعاملات عبر الإنترنت (OLTP)
- استخراج البيانات المكاني
مراجع
- 1 2 3 4 رالف، كيمبال (2004). مجموعة أدوات ETL لمستودع البيانات : تقنيات عملية لاستخراج البيانات وتنظيفها وتوحيدها وتسليمها . كاسيرتا، جو، 1965-. إنديانابوليس، إنديانا: وايلي. ISBN 978-0764579233. OCLC 57301227 .
- ↑ ديني، إم جيه (2016). "التحقق من صحة عملية الاستخراج والتحويل والتحميل المستخدمة لملء قاعدة بيانات بحثية سريرية كبيرة" . المجلة الدولية للمعلوماتية الطبية . 94 : 271-274 . doi : 10.1016/j.ijmedinf.2016.07.009 . PMC 5556907. PMID 27506144 .
- ↑ تشاو، شيرلي (2017-10-20). "ما هي عملية ETL؟ (الاستخراج، التحويل، التحميل) | إكسبريان" . جودة بيانات إكسبريان . تم الاسترجاع في 2018-12-12 .
- ↑ بوت، تريفور (4 يونيو 2018). "استخراج، تحويل، تحميل؟ بل هو أشبه بـ: صعب التحميل للغاية، أليس كذلك؟" . ذا ريجستر . تم الاسترجاع في 12 ديسمبر 2018 .
- ١ ٢ ٣ "ما هي عملية ETL (الاستخراج، التحويل، التحميل)؟" . www.ibm.com . شركة IBM. 4 أكتوبر 2021. تاريخ الاسترجاع: 31 مايو 2026 .
{{cite web}}: CS1 maint: url-status ( link ) - 1 2 "استخراج البيانات وتحويلها وتحميلها (ETL) - مركز هندسة Azure" . learn.microsoft.com . مايكروسوفت . تم الاطلاع عليه بتاريخ 31-05-2026 .
{{cite web}}: CS1 maint: url-status ( link ) - ↑ توبين، دونال. "التحقق من صحة البيانات في ETL - دليل 2026" . Integrate.io . تم الاطلاع عليه بتاريخ 31-05-2026 .
- ↑ توبين، دونال. "ما هو تنظيف البيانات ولماذا هو مهم؟" . Integrate.io . تم الاطلاع عليه بتاريخ 31-05-2026 .
- ↑ "ما هي أنواع تحويل البيانات ETL المختلفة؟ | ريفيري" . ريفيري . مؤرشف من الأصل بتاريخ 12 فبراير 2026. تم الاطلاع عليه بتاريخ 31 مايو 2026 .
- ↑ ثيودورو، فاسيليوس (2017). "الأنماط المتكررة في عمليات ETL: منهج تجريبي". هندسة البيانات والمعرفة . 112 : 1-16 . doi : 10.1016/j.datak.2017.08.004 . hdl : 2117/110172 .
- ↑ كيمبال، مجموعة أدوات دورة حياة مستودع البيانات، ص 332
- 1 2 جولفاريلي/ريزي، تصميم مستودع البيانات، ص. 291
- ↑ "الصعود الحتمي لتكامل البيانات ذاتي الخدمة" . غارتنر . 22 مايو 2015. تم الاطلاع عليه في 31 يناير 2016 .
- ↑ "تبنّي دور المواطن المتكامل" . غارتنر . تم الاطلاع عليه بتاريخ 29 سبتمبر 2021 .
- 1 2 خدمات أمازون السحابية، تخزين البيانات على AWS، ص 9
- ↑ ميشرا، تانيا (2023-09-02). "ETL مقابل ELT: المعنى، والاختلافات الرئيسية، والأمثلة" . رؤى تحليلية . تم الاسترجاع في 2024-01-30 .
- ↑ "مجموعة أدوات ETL لمستودع البيانات: تقنيات عملية لاستخراج البيانات وتنظيفها وتنسيقها وتسليمها [ كتاب ] " .
- ↑ خدمات أمازون السحابية، تخزين البيانات على AWS، 2016، ص 10
- ↑ باندارا، إتش إم إن ديلوم؛ شو، شيوي؛ ويبر، إنجو (2020). "أنماط ترحيل بيانات البلوك تشين". وقائع المؤتمر الأوروبي حول لغات أنماط البرامج 2020. الصفحات 1-19 . arXiv : 1906.00239 . doi : 10.1145/3424771.3424796 . ISBN 9781450377690. S2CID 219956181 .
- استخراج الأدوات وتحويلها وتحميلها
- مستودعات البيانات
