دورة حياة هندسة البيانات - الأساسيات - نظري
Tags: dataengineering, beginners, learning
Published: 2023-10-15 15:34:31

هذه هي المقالة الأولى في سلسلة تحليلات البيانات الخاصة بي.  لمعرفة المزيد عنها، يرجى زيارة [موقعها](https://www.fadyinthecloud.click/data-analytics-made-simpler/) على الإنترنت حيث أقدم المزيد من التفاصيل حول ما هي بالضبط هذه السلسلة وما هو دافعي للقيام بشيء من هذا القبيل وكيف أخطط لإصدار محتواها!

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

لقراءة نفس المقالة باللغة الانجليزية، اذهب [هنا](https://dev.to/fadygrab/data-engineering-lifecycle-basics-theory-2e60)

### جدول المحتويات :
- [ما أعنيه بتحليلات البيانات](#%D9%85%D8%A7-%D8%A3%D8%B9%D9%86%D9%8A%D9%87-%D8%A8%D8%AA%D8%AD%D9%84%D9%8A%D9%84%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA)
- [ما هي هندسة البيانات](#%D9%85%D8%A7-%D9%87%D9%8A-%D9%87%D9%86%D8%AF%D8%B3%D8%A9-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA)
- [دورة حياة هندسة البيانات](#%D8%AF%D9%88%D8%B1%D8%A9-%D8%AD%D9%8A%D8%A7%D8%A9-%D9%87%D9%86%D8%AF%D8%B3%D8%A9-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA)
- [ما لا يفعله مهندس البيانات](#%D9%85%D8%A7-%D9%84%D8%A7-%D9%8A%D9%81%D8%B9%D9%84%D9%87-%D9%85%D9%87%D9%86%D8%AF%D8%B3-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA)
- [الخلاصة](#%D8%A7%D9%84%D8%AE%D9%84%D8%A7%D8%B5%D8%A9)

### ما أعنيه بتحليلات البيانات:
مصطلح تحليلات البيانات واسع جدا ويمكن أن يكون له معاني مختلفة لأشخاص مختلفين! لذا ، أريد أن أكون واضحا بشأن ذلك.

عندما أتحدث عن تحليلات البيانات ، أتخيل تقريبا الرسم التالي في رأسي.

![data analytics](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oaki5tiu5v7j1hllulln.png)

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

### ما هي هندسة البيانات؟
النسخة المبسطة من تعريف هندسة البيانات هي كما يلي:

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

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

عملية جمع السجلات من كل تطبيق ، وتوحيد تنسيقها واستخراج بيانات وصول المستخدمين ثم تجميعها ، وأخيرا تحميل البيانات المجمعة إلى مستودع بيانات (المزيد حول ذلك لاحقا في السلسلة) التي ستستخدمها لوحة المعلومات في النهاية ، تسمى ، لقد خمنت ذلك ، هندسة البيانات!

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

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

### دورة حياة هندسة البيانات:
سأبدأ هذا القسم بعرض الرسم الذي يوضح ماهية دورة حياة هندسة البيانات ثم سأشرح بالتفضيل لاحقاً:

![de lifecycle](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mglu15bflqp1tufxjjbv.png)

 إذا تحدثنا عن هندسة البيانات مع ترك التفاصيل الفنية واختيار الأدوات المستخدمة، فسنحصل على "إطار" يحاول شرح كيف تعمل هندسة البيانات ، أي دورة حياة هندسة البيانات!

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

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

>
وهذا ما يسمى بنية الميدالية حيث تسمى المنطقة الخام المرحلة البرونزية ، وتسمى المنطقة المعالجة المرحلة الفضية ، وتسمى المنطقة المجمعة المرحلة الذهبية.

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

### ما لا يفعله مهندس البيانات

هناك الكثير من الأدوار المتعلقة بالبيانات ولكن الحدود ضبابية بينها. في رأيي ، قد يكون هذا بسبب التطور السريع لكيفية ننتج (أو تنتج الأنظمة) البيانات واستهلاكها ، مما قد يضيف مسؤوليات جديدة لأدوار البيانات الحالية أو يخلق أدوارا جديدة تماما.

أريد فقط إزالة الالتباس حول ما لا يفترض ان يقوم به مهندس البيانات لفهم ما الذي يجب ان يقوم به مهندس البيانات!

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

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

يجب أن يعرف مهندس البيانات كيفية التعامل مع الانظمة التي تعمل في بيئة الانتاج ،  ولكنا مهمة "مهندس اتعلم الآلة" نشر أنظمة تعلم الآلة للإنتاج.

يعمل مهندس البيانات كثيرا مع قواعد البيانات ، ولكنه دور "مسؤول قاعدة البيانات" هو التعامل مع الجزء الإداري من قاعدة البيانات مثل امتيازات المستخدمين ، وصيانة قاعدة البيانات ، والنسخ الاحتياطية ، ...

يمكن لمهندس البيانات معرفة القليل من هندسة البرمجيات (في الواقع ، سيكون من المفيد جدا إذا فعل ذلك!) ولكنها مهمة "مهندس البرمجيات" هي إنشاء تطبيقات حتى لو كانت متعلقة بالبيانات.

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

### الخلاصة:
هندسة البيانات هي مجال جديد نسبيا ولا تزال في طور النمو في 
رأيي. أردت فقط هنا أن أقدم لك لمحة عما سنتعامل معه في سلسلة "Data Analytics Made Simpler" 
ولمساعدتك في تحديد هوية مهندس البيانات.

### المصادر
لقد استخدمت كتاب
"Fundamentals of Data Engineering" Joe Reis and Matt Housley
في اعداد هذه المقالة حيث يعتبر هذا الكتاب من المصادر الجيدة جدا للتعرف على مجال هندسة البيانات بدون الحاجة لخبرة مسبقة