Data Engineering
الفرق بين Traditional Data Team وظهور دور Analytics Engineer
الفرق بين Traditional Data Team وظهور دور Analytics Engineer
في Traditional Data Teams، كان فيه فصل واضح في المهام بين أدوار الفريق.
🔧 مهندسو البيانات (Data Engineers)
مسؤولين عن:
- بناء وصيانة البنية التحتية للبيانات
- تنفيذ عمليات ETL
- إنشاء الجداول و Views داخل مستودعات البيانات
📊 محللو البيانات (Data Analysts)
بيشتغلوا على:
- استعلام وتحليل الجداول والـ Views
- استخراج رؤى تساعد متخذي القرار
✅ ما الفرق بين ETL و ELT؟
🔄 ETL – Extract, Transform, Load
- استخراج البيانات من مصادر متعددة
- تحويلها على جهاز محلي أو نظام خارجي
- تحميلها بعد ذلك إلى مستودع البيانات
☁️ ELT – Extract, Load, Transform
- استخراج البيانات الخام
- تحميلها مباشرة إلى مستودع البيانات
- تحويلها داخل المستودع نفسه
هذا النمط أصبح ممكنًا بفضل مستودعات البيانات السحابية مثل: Snowflake، BigQuery، Redshift
👨💻 من هو الـ Analytics Engineer؟
دور حديث ظهر بين مهندس البيانات ومحلل البيانات، وبيغير شكل توزيع المسؤوليات:
- 🔹 تحويل البيانات الخام إلى بيانات منظمة وجاهزة للتحليل
- 🔹 كتابة كود SQL منظم، قابل لإعادة الاستخدام، ومبني بأسس هندسية
- 🔹 الربط بين شغل Data Engineers و Data Analysts
وده بيسمح إن:
- ✅ Data Engineers يركزوا على البنية والهندسة العامة (الـ EL في ELT)
- ✅ Data Analysts يركزوا على التحليلات العميقة ولوحات البيانات (Dashboards)
ملاحظة:
في الشركات الصغيرة، ممكن شخص واحد يقوم بكل الأدوار.
ومع نمو الفريق، بتبدأ المسؤوليات تتقسم بشكل أوضح، مع وجود تداخل طبيعي بينها.
🛠️ dbt: أداة التحول الحديثة
أداة dbt (data build tool) بتمكّن فرق البيانات من تطبيق مبادئ هندسة البرمجيات على تحويل البيانات:
- ✨ كتابة SQL Modular
- ✨ إضافة اختبارات للبيانات
- ✨ استخدام Git و CI/CD
- ✨ توثيق البيانات وتحليل تأثير التغييرات (Lineage)
