الدليل الشامل إلى هندسة البيانات Data Engineering – مقالات برمجة عامة

212

[ad_1]

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

لذلك السبب زاد الطلب في سوق العمل اليوم على التخصصات التي تعنى بهذه البيانات وتستخلص المعلومات القيمة منها ومن بينها هندسة البيانات والأمر الجيد هنا أن أن الطلب الشديد على هذه التخصصات جعل الشركات تركز على الخبرة وليس على الشهادات الجامعية لذا يمكن بدء تعلم المجال بنفسك إذا أتقنت ركائزه ومهامه الأساسية وتعلمت الأدوات التي تمكنك من تأدية هذه المهام.

سأعرفك في مقال اليوم على تخصص هندسة البيانات Data Engineering وأهميته في عالم الأعمال اليوم وسنكتشف معًا أهم الوظائف والمسؤوليات التي تقع على عاتق مهندس البيانات والأدوات التي تساعده في استخلاص المعلومات القيمة من البيانات الهائلة المتوفرة بين يديه.

ما هي هندسة البيانات؟

هندسة البيانات Data Engineering هي فرع من فروع علم البيانات يركز على تطبيقات جمع البيانات العملية التي تهتم بمعالجة البيانات وتحليلها واستخراج معلومات مفيدة منها وهو يتكامل مع تخصص تحليل البيانات الذي يعمل مع مهندسي البيانات ويأخذ منهم البيانات ويحللها.

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

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

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

لذا تستخدم هندسة البيانات بشكل أساسي في الصناعات التي تتعامل مع البيانات الضخمة فهذه البيانات تحتاج لأن تُحفظ في بنى أو معماريات خاصة مثل مستودعات البيانات Data Warehouses التي تخزن كميات كبيرة من البيانات المنظمة من مصادر متعددة في مكان مركزي أو بحيرات البيانات Data Lakes أو مستودع بحيرة البيانات Data Lakehouse التي تخزن البيانات المنظمة وغير المنظمة أو الخام من جميع المصادر المتاحة دون الحاجة إلى معالجتها أو تحويلها قبل تخزينها ويمكن أن تستخدم كذلك قواعد البيانات التقليدية Databases لتخزين كميات محدودة من البيانات المنظمة وهنا يأتي دور مهندس البيانات ومهامه.

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

لذا يستخدم مهندسو البيانات مجموعة متنوعة من المهارات والتقنيات للتعامل مع هذه البيانات الضخمة وتوفير البنية التحتية اللازمة لها كي يتمكن محللو البيانات أو علماء البيانات أو غيرهم من الموظفين الذين يتعاملون مع البيانات في مقر العمل من استخدامها لتحقيق أهداف العمل.

الفرق بين هندسة البيانات وعلم البيانات وتحليل البيانات

لدينا ثلاث تخصصات أساسية متداخلة مع بعضها البعض للتعامل مع البيانات وهي علم البيانات وتحليل البيانات وهندسة البيانات وبالتالي سيكون لدينا ثلاث أدوار مهمة للتعامل مع البيانات هي عالم البيانات ومحلل البيانات مهندس البيانات وكنا قد شرحنا باستفاضة عن أول تخصصين منهما في مقال دليلك الشامل إلى تحليل البيانات ومقال علم البيانات Data science: الدليل الشامل.

الفرق بين هندس البيانات وعلم البيانات وتحليل البيانات

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

فالبيانات تجمع بواسطة تقنيات ومصادر مختلفة وتخزن ضمن هياكل وتنسيقات مختلفة والأدوات المستخدمة لتحليل البيانات تتطلب أن تكون كافة مجموعات البيانات موحَّدة ومخزنة بنفس الهيكلية والتنسيق وهنا يأتي دور هندسة البيانات التي تعتني بأمور توحيد مجموعات البيانات لتتيح للمحللين العمل تاليًا على هذه البيانات وتحليلها بأدوات التحليل.

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

الفرق بين هندسة البيانات وعلم البيانات

بدايةً يُتوقع من علماء البيانات القيام بعمل كل من عالم البيانات ومهندس البيانات لكن في الواقع يعمل علماء البيانات ومهندسو البيانات جنبًا إلى جنب للتعامل مع هذه البيانات الضخمة والتمكن من نمذجة وتحليل البيانات بشكل فعال.

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

ويتعامل عالم البيانات مع البيانات ويدرسها ويحدد أهم الأسئلة التي تخص سير عمل الشركة ويوفر مقاييس لحل مشاكل العمل وتحسين المردود والاستفادة من هذه البيانات بطريقة فعالة.

الفرق بين هندسة البيانات وتحليل البيانات

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

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

مهام مهندس البيانات

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

مهام مهندس البيانات

وتختلف الوظائف والمسؤوليات التي يستطيع مهندس البيانات القيام بها من مكان عمل لآخر حسب الاحتياجات المطلوبة لكن يمكن القول بشكل عام أن مهندس البيانات هو المسؤول بشكل أساسي عن تصميم النظام الذي يوحّد البيانات التي يستخدمها باقي أعضاء فريق البيانات ويساعدهم على الاستعلام منها وتحليلها بأفضل طريقة وأقصر وقت زمني.

للقيام بذلك يتوقع من مهندس البيانات القيام بالعديد من المهام المختلفة في مقر العمل ولعل أبرز هذه المهام:

  • استخراج البيانات Data extraction: يجب على مهندس البيانات العثور على جميع البيانات الأولية المختلفة حول الشركة واستخراجها من مصادر مختلفة مثل قواعد البيانات أو ملفات XML أو المنصات السحابية التي تستخدمها الشركة أو أنظمة إدارة العلاقة مع الزبون CRM …إلخ.
  • التحقق من صحة البيانات: تعرف أيضًا بتطهير البيانات Data sanitization وفي هذه المرحلة يقوم مهندس البيانات بالبحث عن أي أخطاء في البيانات التي حصل عليها وإلغاء البيانات المكررة أو الفائضة.
  • تحويل البيانات Data transformation: في هذه المرحلة يعمل مهندس البيانات على توحيد هيكلية البيانات وإعطاء جميع البيانات المتنوعة نفس التنسيق.
  • تفسير وتوضيح البيانات: يوضح مهندس البيانات في هذه المرحلة أي معاني للبيانات الغامضة التي يمكن تفسيرها بطرق متعددة و يهتم بتنسيق كل من البيانات المهيكلة وغير المهيكلة.
  • تخزين وتجميع البيانات: بعد الانتهاء من العمل على البيانات يتم تخزينها في قواعد بيانات التحليلات وتحديد البنية والتنسيق المناسبين لهذه القواعد بحيث يسهل تحليلها وتطبيق خوارزميات الذكاء الاصطناعي عليها وإعداد التقارير المناسبة لها، كما يحدد مهندس البيانات من يملك حق الوصول لهذه البيانات.
  • إنشاء خطوط أنابيب البيانات: يشمل عمل مهندسي البيانات كذلك إنشاء ما يسمى بخطوط أنابيب البيانات data pipelines التي تهتم بشكل أساسي بتنفيذ عمليات ETL أي استخراج البيانات Extracting وتحويلها Transforming وتحميلها Loading على البيانات بمرورها عليها بالتتالي في مستودعات أو بنى ملائمة وضمان أن خطوط أنابيب البيانات هذه بها مدخلات ومخرجات صحيحة وأن تدفق البيانات سلس وسريع قدر الإمكان.
  • تطوير إجراءات جديدة للتحقق من صحة البيانات وتحديد طرق زيادة دقة البيانات وكفاءتها والحفاظ على أمنها.
  • شراء الأجهزة والبرامج المطلوبة للتعامل مع البيانات وإعدادها للعمل بشكل صحيح وصيانتها بشكل دوري.

باختصار مهندس البيانات مسؤول بشكل أساسي عن إنشاء البنية التحتية للبيانات وصيانتها وهو يجمع بيانات الشركة أو المؤسسة التي يعمل بها من كافة الأنظمة والمصادر المتاحة ويعالجها ويخزنها في البنية المناسبة، وبمجرد انتهائه من عمله يوكل المهمة للأطراف المعنية المسؤولة عن استخدام هذه البيانات.

أدوات وتقنيات هندسة البيانات

يتطلب عمل مهندس البيانات قدرات أساسية مثل البرمجة والرياضيات والإحصاء وأيضًا علوم الحاسوب كما يحتاج مهندس البيانات في عمله للاعتماد على أدوات وبرامج تساعده على أتمتة بعض العمليات التي تتم على البيانات وإنجازها بمرونة وسلاسة وأهم هذه الأدوات:

  1. أدوات ETL
  2. معرفة بأنواع قواعد البيانات
  3. معرفة متقدمة بإحدى لغات البرمجة
  4. معرفة بالخدمات السحابية
  5. معرفة بأسس الرياضيات والإحصاء الرياضي
  6. معرفة بالخوارزميات وهياكل البيانات
  7. معرفة متعمقة بأمن البيانات
  8. امتلاك مهارات شخصية

لنناقش بمزيد من التفصيل كل أداة من هذه الأدوات ومدى أهميتها في تخصص هندسة البيانات

1. أدوات ETL

أدوات ETL تعني استخراج Extract وتحويل Transform وتحميل Load البيانات والتي تنقل البيانات بين الأنظمة. فبعد أن يستخرج المهندس البيانات من مصادرها عليه تطبيق قواعد عليها وتحويلها لصيغة ملاءمة للتحليل حيث تشمل عملية التحويل التنظيف وإزالة البيانات الشاذة أو الخاطئة مثل وجود قيمة نصية مكان قيمة عددية أو العكس أو إدخال قيمة نصية مكان قيمة عددية وهنا تُحول القيم للصيغة المناسبة أما القيم الغير قابلة للتحويل فهي تحذف وبعدها الانتهاء من هذه العمليات تُحفظ في قواعد البيانات المناسبة.

2. معرفة بأنواع قواعد البيانات

سواء قواعد البيانات العلاقيّة SQL أو غير العلاقيّة NoSQL وبتقنيات البيانات الضخمة مثل Apache Spark أو Hadoop و لغة الاستعلام الهيكلية SQL وهي اللغة القياسية للاستعلام عن قواعد البيانات العلائقية. ارجع إلى مقال دليلك الشامل إلى قواعد البيانات لمزيد من المعلومات.

3. معرفة متقدمة بإحدى لغات البرمجة

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

4. معرفة بالخدمات السحابية

مثل خدمات جوجل السحابية Google Cloud Storage وخدمات أمازون Amazon S3 و Azure Data Lake Storage التي تعرف اختصارًا ADLS …إلخ، نظرًا لأن معظم الشركات اليوم تعتمد على الحلول السحابية لتخزين بياناتها.

5. معرفة بأسس الرياضيات والإحصاء الرياضي

لاسيما عند تجميع البيانات في مجموعات منظمة بالاعتماد على القيم الإحصائية مثل المتوسط والانحراف المعياري والتباين.

6. معرفة بالخوارزميات وهياكل البيانات

مثل القوائم والقواميس والمجموعات وغيرها من هياكل البيانات فهو يتعامل مع بيانات ضخمة وعليه أن يستخدم الخوارزميات وهياكل البيانات التي تحقق أفضل أداء عند معالجتها والتعامل معها.

7. معرفة متعمقة بأمن البيانات

وتعلم كل ما يخص حماية البيانات وأدوات التحقق من صحة البيانات مثل مكتبة Deequ وأداة Great Expectations التي توفر إطارًا وأدوات لجودة البيانات واكتشاف البيانات الخاطئة والتنبيه عندما تقع البيانات خارج النطاقات والقيم المقبولة. إذا كنت مهتمًا بالاطلاع على مرجع عربي شامل حول أمن وخصوصية البيانات أنصح بتحميل كتاب دليل الأمان الرقمي.

8. امتلاك مهارات شخصية

مثل التواصل الفعال وإيصال المعلومات لأنه يحتاج للتواصل مع الإدارة ويشرح لهم حقائق تقنية معقدة بأساليب مفهومة تمكنهم من استثمارها في إيجاد الحلول الأنسب للعمل.

الخلاصة

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

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

[ad_2]

المصدر