🛠️ Data Engineering Patterns — أنماط هندسة البيانات
تتناول هذه الوحدة كيفية تصميم وتنفيذ خطوط أنابيب البيانات (Data Pipelines) في السحابة باستخدام خدمات AWS. ستتعلم كيفية تحليل خصائص البيانات الخمسة (Five Vs)، واختيار نمط الإدخال المناسب (مجمّع أو تدفقي)، واستخدام أدوات معالجة البيانات وتحليلها وتصورها. تمكّنك هذه الوحدة من اتخاذ قرارات معمارية سليمة لبناء بنية بيانات حديثة تلبي احتياجات الأعمال من حيث التكلفة والأداء وقابلية التوسع.
1️⃣ Five Vs of Data — الخمسة Vs للبيانات
تمثل الخصائص الخمس للبيانات — القيمة (Value)، والموثوقية (Veracity)، والحجم (Volume)، والسرعة (Velocity)، والتنوع (Variety) — العوامل الأساسية التي تؤثر على قرارات تصميم البنية التحتية لخط أنابيب البيانات. يجب النظر إلى هذه الخصائص معاً بشكل دائري غير خطي لاتخاذ القرارات المناسبة لكل حالة استخدام.
- Value: مدى قدرة البيانات المعالجة على تقديم رؤى قيمة لحل مشكلة عمل. اسأل: ما الرؤى التي يمكن استخلاصها من البيانات؟
- Veracity: مدى دقة البيانات وموثوقيتها. اسأل: ما مدى دقة البيانات؟ كيف نحمي سلامتها عبر خط الأنابيب؟
- Volume: كمية البيانات التي تحتاج معالجتها. اسأل: ما حجم البيانات؟ كم تحتاج للاحتفاظ بها؟ ما أنماط الوصول؟
- Velocity: سرعة دخول البيانات وتدفقها عبر خط الأنابيب. اسأل: كم مرة تُولد البيانات؟ ما السرعة المطلوبة للاستجابة؟
- Variety: عدد مصادر البيانات وأنواعها. اسأل: ما تنسيق البيانات؟ هل هي منظمة أم شبه منظمة أم غير منظمة؟
تحتاج بيانات المعاملات المنظمة (Structured) ومراجعات العملاء شبه المنظمة (Semistructured) وصور المنتجات غير المنظمة (Unstructured).
الحجم كبير والسرعة متوسطة والقيمة تكمن في تحسين التوصيات وزيادة المبيعات.
اختيار البنية يختلف تماماً عما لو كانت تحتاج تحليلاً فورياً لبيانات تدفقية عالية السرعة.
2️⃣ Modern Data Architecture — بنية البيانات الحديثة
تتبنى المؤسسات التي ترغب في أن تصبح قائمة على البيانات استراتيجية ثلاثية: التحديث (Modernize) والتوحيد (Unify) والابتكار (Innovate). التحديث يعني الانتقال إلى بنى سحابية وخدمات مخصصة لتقليل الجهد التشغيلي، والتوحيد يعني إنشاء مصدر واحد للحقيقة وجعل البيانات متاحة عبر المؤسسة، والابتكار يعني تطبيق الذكاء الاصطناعي وتعلم الآلة لاكتشاف رؤى جديدة.
- بحيرة البيانات (Data Lake): مستودع مركزي لتخزين جميع البيانات المنظمة وغير المنظمة بأي حجم.
- مستودع البيانات (Data Warehouse): قاعدة بيانات محسّنة للاستعلامات التحليلية السريعة على البيانات المنظمة.
- متاجر البيانات المخصصة (Purpose-built Data Stores): قواعد بيانات متخصصة لحالات استخدام محددة مثل DynamoDB أو Aurora.
- الإدارة الموحدة (Unified Governance): تحكم مركزي في الصلاحيات والأذونات وحركة البيانات بين المكونات.
بدلاً من ترك البيانات في صوامع منفصلة تنتقل إلى بنية حديثة حيث تخزن البيانات الخام في Amazon S3 (بحيرة بيانات).
تستخدم AWS Glue لفهرسة البيانات وAmazon Redshift للاستعلامات التحليلية وAmazon QuickSight للوحات المعلومات.
هذه البنية تجعل كل البيانات متاحة للتحليل دون الحاجة لحركة بيانات معقدة.
- الخصائص الخمس (Value, Veracity, Volume, Velocity, Variety) تحدد قرارات بنية البيانات.
- القيمة والموثوقية تضمنان رؤى دقيقة تخدم احتياجات العمل.
- الحجم والسرعة يقودان متطلبات الإنتاجية والتوسع لخط الأنابيب.
- استراتيجية بنية البيانات الحديثة هي التحديث ثم التوحيد ثم الابتكار.
- بنية البيانات الحديثة تدمج بحيرة البيانات ومستودع البيانات والمتاجر المخصصة مع إدارة موحدة.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Data Lake | بحيرة البيانات | مستودع مركزي لتخزين جميع أنواع البيانات بأي حجم دون معالجة مسبقة. |
| Data Warehouse | مستودع البيانات | قاعدة بيانات محسّنة للاستعلامات التحليلية السريعة على البيانات المنظمة. |
| Schema on Write | مخطط عند الكتابة | أسلوب يتطلب تحديد بنية البيانات قبل تخزينها، يُستخدم في مستودعات البيانات. |
| Schema on Read | مخطط عند القراءة | أسلوب يخزن البيانات بدون مخطط مسبق ويُطبق المخطط عند القراءة، يُستخدم في بحيرات البيانات. |
| Structured Data | بيانات منظمة | بيانات بتنسيق جدولي واضح مثل قواعد البيانات العلائقية. |
| Semistructured Data | بيانات شبه منظمة | بيانات ذاتية الوصف مثل JSON وXML بدون قيود مخطط صارمة. |
| Unstructured Data | بيانات غير منظمة | بيانات بدون هيكل محدد مسبقاً مثل الصور ومقاطع الفيديو والنصوص. |
1️⃣ Elements of a Data Pipeline — عناصر خط أنابيب البيانات
يتكون خط أنابيب البيانات من أربع طبقات رئيسية: الإدخال (Ingest) والتخزين (Store) والمعالجة (Process) والتحليل (Analyze). يجب أن يبدأ التصميم من المشكلة التجارية (الهدف النهائي) ثم بناء خط الأنابيب الذي يدعمها، مع العلم أن البيانات تُعالج بشكل تكراري لتحسين النتائج.
- الإدخال (Ingestion): استخراج البيانات من مصادرها وتحميلها إلى خط الأنابيب للتخزين أو التحليل.
- التخزين (Storage): تخزين البيانات الخام والمعالجة بطريقة آمنة وفعالة من حيث التكلفة.
- المعالجة (Processing): تحويل البيانات لتصبح قابلة للتحليل، بما في ذلك التنظيف والتنسيق والإثراء.
- التحليل (Analysis): اكتشاف التفاصيل والرؤى من البيانات لبناء تصورات أو تنبؤات.
2️⃣ Ingestion Patterns — أنماط الإدخال
الإدخال المتجانس (Homogeneous Ingestion) ينقل البيانات كما هي دون تحويل عندما يتطابق تنسيق المصدر مع الوجهة. الإدخال غير المتجانس (Heterogeneous Ingestion) يتطلب تحويل البيانات، وهناك نمطان رئيسيان: ETL (استخراج-تحويل-تحميل) يناسب البيانات المنظمة المتجهة لمستودع البيانات، وELT (استخراج-تحميل-تحويل) يناسب البيانات غير المنظمة المتجهة لبحيرة البيانات.
| وجه المقارنة | ETL | ELT |
|---|---|---|
| الخطوات | استخراج ← تحويل ← تحميل | استخراج ← تحميل ← تحويل |
| نوع البيانات | بيانات منظمة | بيانات غير منظمة أو شبه منظمة |
| الوجهة | مستودع بيانات (مثل Redshift) | بحيرة بيانات (مثل Amazon S3) |
| المرونة | البيانات جاهزة للتحليل فور التحميل | مرونة في إنشاء استعلامات جديدة على البيانات الخام |
3️⃣ Batch vs Streaming — المعالجة المجمّعة مقابل التدفقية
المعالجة المجمّعة تنفذ الأوامر على مجموعة كاملة من البيانات وتُناسب التحليل العميق لمجموعات البيانات الكبيرة، وتُشغّل عند الطلب أو وفق جدول زمني. المعالجة التدفقية تتعامل مع بيانات متدفقة مستمرة وغير محدودة، وتُحدّث المقاييس بشكل تدريجي مع وصول كل بيانات جديدة لتحليل فوري.
| الميزة | Batch Processing | Streaming Processing |
|---|---|---|
| دورات المعالجة | غير متكررة، عادة في ساعات خارج أوقات الذروة | مستمرة دون توقف |
| متطلبات الحوسبة | قدرة حوسبة عالية | قدرة منخفضة مع اتصالات شبكة منخفضة الزمن |
| حالة استخدام | تحليل معاملات المبيعات ليلاً وتقارير الصباح | توصيات فورية للمنتجات أثناء تصفح العميل |
يستخدم Batch Processing لجمع كل المعاملات في نهاية اليوم وإنشاء تقارير لأصحاب المصلحة.
ولكنه يستخدم Streaming Processing لكشف الاحتيال — إذا حاول شخص إجراء 10 معاملات مشبوهة في دقيقة واحدة، يُنبّه النظام فوراً.
- خط أنابيب البيانات يتكون من طبقات: إدخال، تخزين، معالجة، وتحليل.
- الإدخال المتجانس لا يتضمن تحويلاً للبيانات؛ أما غير المتجانس فيستخدم ETL أو ELT.
- المعالجة المجمّعة تناسب التحليل العميق لمجموعات البيانات الكبيرة خارج أوقات الذروة.
- المعالجة التدفقية تناسب التحليل الفوري للبيانات المتدفقة باستمرار.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Data Pipeline | خط أنابيب البيانات | بنية تنقل البيانات من المصادر إلى الوجهات عبر مراحل إدخال وتخزين ومعالجة وتحليل. |
| ETL | استخراج-تحويل-تحميل | نمط يحول البيانات قبل تحميلها إلى الوجهة النهائية. |
| ELT | استخراج-تحميل-تحويل | نمط يحمل البيانات ثم يحولها حسب الحاجة للتحليل. |
| Batch Processing | معالجة مجمّعة | معالجة مجموعة كاملة من البيانات دفعة واحدة في دورة واحدة. |
| Streaming Processing | معالجة تدفقية | معالجة مستمرة للبيانات فور وصولها في الوقت الفعلي تقريباً. |
| Homogeneous Ingestion | إدخال متجانس | نقل البيانات كما هي دون تحويل عندما يتطابق المصدر مع الوجهة. |
| Heterogeneous Ingestion | إدخال غير متجانس | نقل البيانات مع تحويلها لأن المصدر يختلف عن الوجهة. |
1️⃣ Amazon AppFlow — أمازون AppFlow
هي خدمة مدارة بالكامل تنقل البيانات بين تطبيقات SaaS (مثل Salesforce وZendesk) وخدمات AWS، مع قدرات تحويل بيانات مثل التصفية والإخفاء والتحقق والتقسيم والفهرسة. تستغرق الموصلات المخصصة أشهراً لبنائها، لكن AppFlow يوفّر تكاملاً فورياً دون الحاجة لكتابة كود معقد.
- ينقل البيانات بين تطبيقات SaaS وخدمات AWS مثل Amazon S3 وAmazon Redshift.
- يوفّر قدرات تحويل بيانات مدمجة: تصفية، إخفاء، تحقق، تقسيم، وفهرسة.
- يوفّر واجهات برمجة (APIs) قابلة لإعادة الاستخدام للتكامل مع التطبيقات.
- مصادر البيانات تشمل Salesforce وSAP وGoogle Analytics وFacebook Ads وServiceNow.
بدلاً من بناء موصل مخصص يستغرق شهوراً، يستخدم Amazon AppFlow لربط Salesforce مباشرة بـ Amazon S3.
في دقائق تبدأ بيانات العملاء بالتدفق إلى بحيرة البيانات للتحليل دون أي كود.
2️⃣ AWS DataSync — مزامنة بيانات AWS
هي خدمة مدارة بالكامل لنقل البيانات بين مراكز البيانات المحلية وخدمات التخزين في AWS مثل Amazon S3 وAmazon EFS وAmazon FSx. محسّنة للسرعة وتتضمن التشفير والتحقق من سلامة البيانات، وتحافظ على البيانات الوصفية (Metadata) أثناء النقل مع دعم الجدولة اليومية أو الأسبوعية للمزامنة.
يستخدمون AWS DataSync مع وكيل (Agent) لقراءة البيانات من التخزين المحلي.
يكفي إعداد لمرة واحدة ثم ينشئون مهام نقل مجدولة يومياً تنقل البيانات إلى Amazon S3 بشكل آمن ومشفر.
3️⃣ AWS Data Exchange — تبادل بيانات AWS
توفّر طريقة للعثور على البيانات من جهات خارجية والاشتراك بها واستخدامها في السحابة، من خلال كتالوج شامل يدعم تسليم البيانات عبر الملفات والجداول وواجهات API. تسد الفجوة بين موفري البيانات والمشتركين، مما يقلل التكاليف ويزيد السرعة والابتكار دون الحاجة لبناء خطوط إدخال بيانات معقدة.
- شركات الأدوية تستخدم معايير متوسط العمر المتوقع (Life Expectancy Benchmarks) من جهات خارجية للبحث عن أدوية جديدة.
- متاجر التجزئة تستخدم بيانات الطقس لتوقع احتياجات العملاء وتحسين تخطيط المخزون.
- المطاعم تشترك في بيانات المواقع لتحديد أماكن التوسع.
بدلاً من جمع بيانات المواقع يدوياً تشترك عبر AWS Data Exchange في بيانات حركة المرور والتركيبة السكانية.
تحلل البيانات في Amazon QuickSight لتحديد أفضل 5 مواقع لافتتاح فروع جديدة.
ما كان يستغرق شهوراً من جمع البيانات أصبح يتم في أيام.
- Amazon AppFlow: إدخال بيانات من تطبيقات SaaS مثل Salesforce وZendesk.
- AWS DataSync: إدخال بيانات من مشاركات الملفات المحلية مع جدولة وتشفير.
- AWS Data Exchange: إدخال بيانات من جهات خارجية عبر كتالوج شامل وواجهات API.
- اختر الأداة المخصصة لحالة الاستخدام لتقليل الجهد التشغيلي غير المميّز.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Amazon AppFlow | أمازون AppFlow | خدمة مدارة لنقل البيانات بين تطبيقات SaaS وخدمات AWS مع تحويل مدمج. |
| AWS DataSync | مزامنة بيانات AWS | خدمة مدارة لنقل البيانات بسرعة بين المراكز المحلية وخدمات تخزين AWS. |
| AWS Data Exchange | تبادل بيانات AWS | خدمة للعثور على بيانات جهات خارجية والاشتراك بها واستخدامها في السحابة. |
| SaaS | برنامج كخدمة | تطبيقات سحابية جاهزة مثل Salesforce وZendesk يمكن ربطها بخدمات AWS. |
1️⃣ AWS Glue — خدمة AWS Glue
هي خدمة تكامل بيانات (Data Integration Service) تساعد على أتمتة وتنفيذ مهام ETL كجزء من إدخال البيانات في خط الأنابيب المجمّع أو التدفقي. تقرأ وتكتب البيانات من أنظمة وقواعد بيانات متعددة وتتكامل مع Amazon S3 وDynamoDB وRedshift وAmazon RDS وAmazon DocumentDB.
- فهرس بيانات Glue (Data Catalog): يخزن البيانات الوصفية عن مجموعات البيانات بما فيها تعريف الجداول والموقع الفعلي.
- مهام ETL: يمكن إنشاؤها عبر واجهة بصرية (Glue Studio) أو باستخدام Jupyter Notebooks.
- AWS Glue DataBrew: خدمة تحضير بيانات بدون كود توفر أكثر من 250 تحويلاً مسبقاً لتنظيف وتوحيد البيانات.
- AWS Glue Data Quality: يقيم جودة البيانات ويوصي بقواعد الجودة ويراقبها وينبه عند التدهور.
- Crawlers: تجري على متاجر البيانات وتستنتج المخططات (Schemas) وتعبّئ فهرس البيانات.
يتضمن ذلك متوسط طول الجلسة وعدد المشتريات داخل اللعبة وأيام منذ آخر جلسة لكل لاعب.
خادم اللعبة يدفع البيانات إلى Amazon S3 كل 6 ساعات ← AWS Glue Crawlers تكتشف المخطط ← مهمة Glue ETL تجمّع البيانات لكل لاعب بفواصل دقيقة واحدة ← البيانات المحوّلة متاحة لتحليلات متعددة.
2️⃣ Data Transformation with AWS Glue — تحويل البيانات باستخدام AWS Glue
حاجة شائعة هي تحويل البيانات من تنسيق .csv إلى Apache Parquet لتسريع القراءة والتخزين. تخزّن Parquet البيانات بطريقة أعمدة (Columnar) وهي محسّنة للضغط والتشفير، مما يسرّع أعباء عمل التحليلات ويوفّر مساحة التخزين والتكلفة والوقت، كما تناسب المعالجة المتوازية.
تمرر البيانات عبر AWS Glue PII Detection الذي يفحصها ويكشف أرقام الضمان الصحي.
بعد الكشف تُخفى هذه المعلومات تلقائياً قبل تخزين البيانات في بحيرة البيانات للتحليل.
هذا يضمن الامتثال للوائح مثل HIPAA مع الاستمرار في الاستفادة من البيانات.
- المعالجة المجمّعة تناسب المهام عالية الحجم والمتكررة مثل التقارير اليومية والأسبوعية.
- AWS Glue يوفّر فهرسة بيانات واكتشاف مخططات ومهام ETL وتحضير بيانات بدون كود.
- تحويل .csv إلى Parquet يسرّع التحليلات ويوفّر مساحة تخزين.
- يدعم AWS Glue كشف وإخفاء المعلومات الشخصية (PII) قبل التحليل.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| AWS Glue | خدمة AWS Glue | خدمة تكامل بيانات تؤتمت مهام ETL وتدير فهرس البيانات وتحضير البيانات. |
| Data Catalog | فهرس البيانات | مستودع بيانات وصفية يخزن تعريفات الجداول وموقعها وخصائصها. |
| Apache Parquet | أباتشي Parquet | تنسيق تخزين عمودي محسّن للضغط والمعالجة المتوازية. |
| PII | المعلومات الشخصية القابلة للتحديد | بيانات حساسة مثل أرقام الهوية والضمان الاجتماعي التي يجب حمايتها قبل التحليل. |
| DataBrew | DataBrew | أداة تحضير بيانات بصرية بدون كود توفر أكثر من 250 تحويلاً مسبقاً. |
1️⃣ Streaming Services — خدمات التدفق
توفّر Amazon Kinesis مجموعة من الخدمات المدارة بالكامل لجمع ومعالجة وتحليل بيانات التدفق في الوقت الفعلي. تشمل Kinesis Data Streams وAmazon Data Firehose وAmazon Managed Service for Apache Flink وKinesis Video Streams وAmazon MSK.
- Amazon Data Firehose: ينقل بيانات التدفق في الزمن شبه الفوري إلى وجهات التخزين والتحليل، يحوّل JSON إلى Parquet، بدون كود.
- Amazon Kinesis Data Streams: يجمع ويخزّن بيانات التدفق مؤقتاً لمدة تصل إلى 365 يوماً، مناسب للتوصيل في الوقت الفعلي (أقل من 60 ثانية).
- Amazon Managed Service for Apache Flink: خدمة بدون خادم لتحليل بيانات التدفق في الوقت الفعلي باستخدام SQL أو Apache Flink.
- Amazon Kinesis Video Streams: ينقل الفيديو بأمان من الأجهزة المتصلة إلى AWS للتحليل والتعلم الآلي.
- Amazon MSK: خدمة Apache Kafka مدارة بالكامل يمكن نشرها في VPC، مثالية للمستخدمين المألوفين مع Kafka.
| الميزة | Firehose | Kinesis Data Streams | Amazon MSK |
|---|---|---|---|
| التعقيد | الأبسط، توصيل وتشغيل | يتطلب تخصيص كود (KCL/KPL) | الأكثر تعقيداً، يتطلب إعداداً هندسياً |
| الاحتفاظ | البيانات الموصلة لا تُخزّن، غير الموصلة 24 ساعة | تخزين مؤقت يصل إلى 365 يوماً مع إعادة التشغيل | قابل للتكوين، احتفاظ أطول |
| وجهات | S3، Redshift، OpenSearch، HTTP | أي وجهة مع تخصيص المستهلكين | مفتوح المصدر، أي وجهة عبر Kafka APIs |
2️⃣ Café Scenario with Firehose — سيناريو المقهى مع Firehose
أراد أصحاب المقهى تقييم بيانات نقرات الزبائن (Clickstream Data) لمعرفة أوقات التصفح والضغط على قائمة الطعام، دون الحاجة لتوصيل فوري بدقة دون الثانية. اختاروا Firehose لأنه الأبسط تشغيلياً مع موصلات جاهزة للمصدر (Amazon API Gateway) والوجهة (Amazon S3).
- موقع ثابت على Amazon S3 يعرض قائمة المقهى.
- متصفح الزبون يرسل بيانات النقرات إلى Amazon API Gateway.
- Firehose يلتقط بيانات النقرات ويحوّلها.
- البيانات تذهب إلى S3 Bucket حيث يمكن الوصول إليها من أدوات التحليل والتصور.
3️⃣ Medical Devices with Kinesis — الأجهزة الطبية مع Kinesis
في حالات تتطلب timing حاسماً، مثل أجهزة مراقبة المرضى التي ترسل بيانات الاستشعار للكشف عن الانحرافات في دقة الأجهزة. يجب الإبلاغ عن أي تذبذب خلال ملي ثانية باستخدام Kinesis Data Streams مع Amazon Managed Service for Apache Flink للكشف عن الحالات الشاذة.
- Firehose يحمّل البيانات في الوجهة خلال 60 ثانية — مناسب للسيناريوهات التي تتحمل تأخيراً بسيطاً.
- Kinesis Data Streams يناسب التوصيل الفوري بدقة دون الثانية مع معالجة متعددة المستهلكين وقدرة إعادة تشغيل البيانات.
تتدفق بيانات الاستشعار إلى Kinesis Data Streams ← Amazon Managed Service for Apache Flink تحللها آنياً للكشف عن الحالات الشاذة ← إذا اكتُشف شذوذ تُستدعى AWS Lambda ← ترسل إشعاراً فورياً للطبيب المختص.
هذه البنية تضمن الاستجابة الفورية التي قد تنقذ حياة مريض.
- Firehose: أبسط خيار لتغذية البيانات إلى وجهات التخزين مع احتفاظ قصير بدون إعادة تشغيل.
- Kinesis Data Streams: أفضل زمن وصول مع احتفاظ يصل إلى 365 يوماً وقدرة إعادة تشغيل.
- Kinesis Video Streams: تدفق فيديو آمن من الأجهزة المتصلة إلى AWS.
- Amazon Managed Service for Apache Flink: تحليل تدفقي فوري بدون خادم.
- Amazon MSK: Kafka مدار بالكامل للمستخدمين المألوفين مع النظام مفتوح المصدر.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Streaming Data | بيانات تدفقية | بيانات مستمرة ومتصلة تُولّد بكميات كبيرة بهدف المعالجة بزمن استجابة منخفض. |
| Kinesis Data Streams | تدفقات بيانات Kinesis | خدمة تجمع وتخزّن بيانات التدفق مؤقتاً للتوصيل الفوري مع إعادة تشغيل. |
| Amazon Data Firehose | خرطوم بيانات أمازون | خدمة تنقل بيانات التدفق إلى وجهات التخزين في الزمن شبه الفوري. |
| Amazon MSK | خدمة Kafka المدارة | خدمة Apache Kafka مدارة بالكامل قابلة للنشر في VPC. |
| Apache Flink | أباتشي Flink | إطار معالجة تدفقية مفتوح المصدر لتحليل البيانات في الوقت الفعلي. |
| Micro Batch | دفعات صغيرة | آلية تنتظر فترة قصيرة (ملي ثانية إلى عدة ثوان) قبل تنفيذ عملية دفعية. |
1️⃣ Data Lake vs Data Warehouse — بحيرة البيانات مقابل مستودع البيانات
بحيرة البيانات تخزّن جميع البيانات المنظمة وغير المنظمة بأي حجم دون تعريف مخطط مسبق (Schema on Read)، بتكلفة تخزين منخفضة. مستودع البيانات يُحسّن للاستعلامات التحليلية السريعة على البيانات المنظمة بمخطط محدد مسبقاً (Schema on Write)، لكنه أعلى تكلفة.
| الميزة | بحيرة البيانات (Data Lake) | مستودع البيانات (Data Warehouse) |
|---|---|---|
| مصادر البيانات | أجهزة IoT، مواقع، تطبيقات جوال، وسائل تواصل | تطبيقات الأعمال وقواعد البيانات |
| المخطط | مخطط عند القراءة (Schema on Read) | مخطط عند الكتابة (Schema on Write) |
| التكلفة | تخزين منخفض التكلفة | تخزين أعلى تكلفة |
| جودة البيانات | خام (غير معالج) أو محوّل | منقّى ومنسّق كمرجع رئيسي للحقيقة |
| حالة الاستخدام | اكتشاف البيانات، سجلات، تنميط | تقارير مجمّعة، ذكاء أعمال، تصورات |
2️⃣ Cost and Querying Time — التكلفة ووقت الاستعلام
Amazon S3 هو الخيار الأكثر فعالية من حيث التكلفة لتخزين البيانات غير المنظمة مع إمكانية تقسيمها إلى مجلدات (Partitions) لتحسين أداء الاستعلامات. Amazon Redshift أكثر تكلفة لكنه يوفر استعلامات فعّالة عبر مجموعات بيانات كبيرة تمتد لفترات زمنية طويلة. Redshift Spectrum يوفّر أفضل ما في العالمين بالسماح بالاستعلام على S3 دون نقل البيانات.
البيانات الحديثة (آخر 3 أشهر) في Amazon Redshift للاستعلامات السريعة.
البيانات الأقدم في Amazon S3 مع Redshift Spectrum للاستعلام عند الحاجة.
البيانات التي مضى عليها 10 سنوات تنتقل إلى S3 Glacier Deep Archive للتخزين طويل الأمد بأقل تكلفة.
هذا التدرج يوفّر مئات الآلاف من الدولارات سنوياً مقارنة بتخزين كل شيء في Redshift.
3️⃣ Data Origin and Shape — مصدر البيانات وشكلها
تطبيقات الأعمال تنتج بيانات OLTP منظمة (تخزّن في RDMS أو NoSQL) وبيانات تدفقية (تخزّن في خدمة التدفق أو S3). بعد ذلك، تنتقل البيانات إلى طبقة التحليلات: البيانات الخام غير المنظمة تذهب إلى بحيرة البيانات (Amazon S3) والبيانات المعالجة والمجمّعة تذهب إلى مستودع البيانات (Amazon Redshift).
- بنية البيانات الحديثة تبني على بحيرة البيانات كمركز مع خدمات تحليل وتخزين طرفية.
- بحيرة البيانات تستخدم Schema on Read، ومستودع البيانات يستخدم Schema on Write.
- اختيار التخزين يعتمد على مصدر البيانات وشكلها والتكلفة ونطاق الاستعلام وفترة الاحتفاظ.
- Amazon S3 لبحرية البيانات، Amazon Redshift لمستودع البيانات، وRedshift Spectrum لدمج الاثنين.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| OLTP | معالجة المعاملات عبر الإنترنت | نظام محسّن لعمليات القراءة والكتابة الصغيرة المتكررة مثل معاملات البنوك. |
| OLAP | معالجة التحليلات عبر الإنترنت | نظام محسّن للاستعلامات التحليلية المعقدة على مجموعات بيانات كبيرة. |
| Redshift Spectrum | طيف Redshift | خدمة تتيح الاستعلام على بيانات S3 مباشرة باستخدام Redshift دون نقلها. |
| S3 Glacier | ثلاجة S3 | فئة تخزين منخفضة التكلفة للأرشفة طويلة الأمد. |
| Data Partitioning | تقسيم البيانات | تنظيم البيانات في مجلدات حسب التاريخ أو معيار آخر لتحسين أداء الاستعلامات. |
1️⃣ Big Data Parallel Processing — المعالجة المتوازية للبيانات الضخمة
تقنية حوسبة تقسم معالجة مجموعات البيانات الضخمة إلى أجزاء صغيرة، كل جزء يُعالَج بشكل منفصل وفي نفس الوقت، ثم تُجمَع النتائج في المخرجات النهائية. طُوّرت هذه التقنية لأن الخوادم الفردية لا تمتلك ذاكرة وتخزيناً كافيين لمعالجة مجموعات البيانات الضخمة، فتُستخدم عناقيد من مئات أو آلاف الخوادم.
تُقسّم الكتب إلى 10 دفعات كل دفعة 100,000 كتاب.
كل دفعة تُعالَج بالتوازي وتنتج قائمة بتكرار كل كلمة.
دالة التجميع تدمج النتائج العشر في قائمة واحدة نهائية.
إذا كانت معالجة كل كتاب تستغرق دقيقة، فالمعالجة المتسلسلة تستغرق 16 ساعة، بينما المتوازية تستغرق دقيقة واحدة فقط!
2️⃣ Amazon EMR — خدمة Amazon EMR
خدمة تُدير البنية التحتية للعناقيد (Cluster Infrastructure) وتضم تطبيقات Apache Hadoop مثل Hadoop MapReduce وApache Spark. يمكن نشر EMR على Amazon EC2 أو Amazon EKS أو AWS Outposts، مع خيار EMR Serverless للبيئات بدون خادم.
| المتطلب | EMR | EMR Serverless | AWS Glue |
|---|---|---|---|
| التحكم في العناقيد | ✅ نعم | ❌ لا | ❌ لا |
| ترحيل تطبيقات Hadoop/Spark القديمة | ✅ نعم | ❌ لا | ❌ لا |
| تطوير تطبيقات سحابية جديدة | ❌ لا | ✅ نعم | ✅ نعم |
| الدفع حسب المهمة | ❌ لا | ✅ نعم | ✅ نعم |
| تشغيل مهام Apache Spark فقط | ❌ لا | ❌ لا | ✅ نعم |
3️⃣ Curating Data with Amazon EMR — تنقية البيانات باستخدام Amazon EMR
من أفضل الممارسات تقسيم بحيرة البيانات إلى مناطق مختلفة حسب جودة البيانات: منطقة الإسقاط (Data Drop Zone)، منطقة التحليلات (Data Analytics Zone)، ومنطقة البيانات المنقّاة (Curated Data Zone). ينتقل البيانات عبر ثلاث خطوات: نقل البيانات الخام من المصادر المحلية إلى منطقة الإسقاط، ثم تنظيفها باستخدام EMR ونقلها إلى منطقة التحليلات، ثم تنقيتها ونقلها إلى المنطقة المنقّاة للتصور والتحليل النهائي.
- المعالجة المتوازية تقسّم مجموعات البيانات الضخمة إلى أجزاء صغيرة تُعالَج بشكل متزامن.
- Amazon EMR يدير العناقيد ويدعم Hadoop MapReduce وApache Spark.
- اختر EMR للتحكم الكامل بالعناقيد، وEMR Serverless أو AWS Glue للحلول بدون خادم.
- قسّم بحيرة البيانات إلى مناطق إسقاط وتحليلات وبيانات منقّاة لتحسين جودة البيانات.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Parallel Processing | معالجة متوازية | تقنية تقسيم البيانات الضخمة إلى أجزاء تُعالَج في وقت واحد ثم تُجمَع النتائج. |
| Amazon EMR | أمازون EMR | خدمة مدارة لتشغيل أطر Hadoop وSpark على عناقيد من الخوادم. |
| Apache Spark | أباتشي Spark | إطار معالجة متوازية مفتوح المصدر لتحليلات البيانات الضخمة. |
| Hadoop MapReduce | هادوب MapReduce | نموذج برمجي لمعالجة البيانات الضخمة بالتقسيم والتجميع. |
| Data Curation | تنقية البيانات | عملية تنظيف وتنظيم وتحسين جودة البيانات في بحيرة البيانات. |
1️⃣ Choosing Consumption Tools — اختيار أدوات الاستهلاك
بعد تخزين البيانات وتنقيتها في متاجر بيانات متنوعة، تتوفّر أدوات متعددة للتحليل والتصور حسب حالة الاستخدام. يجب تطبيق مبدأ الصلاحية الأقل (Least Privilege) بإعطاء كل مستخدم أو نظام الحد الأدنى من الصلاحيات اللازمة لأداء مهمته.
- محلل أعمال: يحتاج لوحة معلومات تفاعلية مع رسوم بيانية لمشاركتها مع أصحاب المصلحة → Amazon QuickSight.
- مهندس بيانات: يحتاج استعلامات SQL تفاعلية لاستكشاف ملفات نشاط العملاء في بحيرة البيانات → Amazon Athena.
- مهندس DevOps: يحتاج لوحة مراقبة فورية للتطبيقات ← Amazon OpenSearch Service.
2️⃣ Amazon QuickSight — أمازون QuickSight
أداة ذكاء أعمال (BI) توفّر تصورات سريعة باستخدام محرك ذاكرة داخلية قوي (SPICE) يمكنها التوسع لمئات الآلاف من المستخدمين. لوحة المعلومات (Dashboard) عبارة عن مجموعة من الرسوم البيانية والرؤى التفاعلية التي يمكن مشاركتها عبر رابط أو تضمينها في تطبيق ويب أو إرسالها كتقرير دوري بالبريد الإلكتروني.
يستخدم QuickSight لتكوين صلاحيات الوصول لـ Athena وS3 Bucket.
Athena تحفظ الاستعلامات في حاوية نتائج ← المحلل يبني لوحة المعلومات وينشرها ← يرسل الرابط لأصحاب المقهى.
يمكن لأصحاب المقهى فتح الرابط في أي وقت ومشاهدة تفاعل الزبائن مع القائمة.
3️⃣ Amazon Athena — أمازون Athena
محرك استعلامات SQL بدون خادم مبني على Trino وApache Presto، يتيح تحليل البيانات مباشرة في Amazon S3 باستخدام SQL القياسي. يدعم تنسيقات البيانات مثل CSV وJSON وParquet وORC وAvro، ويتكامل مع Data Catalog للبيانات الوصفية، ويوفّر موصلات لبيانات مصادر متعددة مثل RDS وDynamoDB وRedshift وحتى بحيرات بيانات خارجية مثل Azure Data Lake Storage.
4️⃣ Amazon OpenSearch Service — أمازون OpenSearch
خدمة مدارة لتنفيذ حالات استخدام Apache OpenSearch مثل تحليلات السجلات التفاعلية ومراقبة التطبيقات في الوقت الفعلي والبحث في المواقع. تفهرس البيانات المحمّلة في نطاق (Domain) لتوفير البحث والتحليل، وتتضمن OpenSearch Dashboards المدمجة مع كل نطاق، مع قدرات تنبيه وكشف شذوذ باستخدام تعلم الآلة، وخيار نشر متعدد مناطق التوفر (Multi-AZ with Standby) للتوفر العالي.
تتدفق سجلات الأخطاء إلى Amazon OpenSearch Service الذي يفهرسها ← OpenSearch Dashboards تعرض لوحة معلومات فورية بمخططات دائرية ورسوم بيانية للأحداث.
إذا زادت نسبة الأخطاء عن 5% يُرسل تنبيه فوري للفريق للتدخل قبل تأثر العملاء.
- QuickSight: أداة BI للوحات المعلومات التفاعلية القابلة للنشر والمشاركة.
- Athena: محرك استعلامات SQL بدون خادم لتحليل البيانات في S3 بنموذج الدفع لكل استعلام.
- Athena for Apache Spark: يعالج أعباء العمل المتوازية للبيانات الضخمة باستخدام Spark.
- OpenSearch Service: خدمة فهرسة وبحث مع لوحات معلومات تخاطبية للمراقبة الفورية.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Amazon QuickSight | أمازون QuickSight | أداة ذكاء أعمال لبناء لوحات معلومات تفاعلية بتقنية SPICE في الذاكرة. |
| Amazon Athena | أمازون Athena | محرك استعلامات SQL بدون خادم لتحليل البيانات مباشرة في S3. |
| OpenSearch Service | خدمة OpenSearch | خدمة فهرسة وبحث مع لوحات تحكم لتحليلات السجلات والمراقبة الفورية. |
| SPICE | محرك SPICE | محرك ذاكرة داخلية في QuickSight يسرّع أداء التصورات. |
| Dashboard | لوحة المعلومات | مجموعة رسوم بيانية وتصورات تفاعلية لعرض مؤشرات الأداء الرئيسية. |
1️⃣ Data Analytics Lens — عدسة تحليلات البيانات
مجموعة من أفضل الممارسات المُثبتة من العملاء لتصميم أعباء عمل تحليلات متقنة (Well-Architected Analytics Workloads). توفّر طريقة لتقييم أعباء عمل التحليلات وتنفيذ أفضل الممارسات دون الحاجة لأن تكون خبيراً في المجال، عبر ثلاث خطوات: تعريف أعباء العمل، تقييمها مقابل مبادئ الركائز، وتنفيذ أفضل الممارسات مع تقييمات منتظمة.
2️⃣ Best Practices — أفضل الممارسات
تتضمن أفضل الممارسات عبر أربع ركائز رئيسية: الأمان (Security) عبر تطبيق مبدأ الصلاحية الأقل، وكفاءة الأداء (Performance Efficiency) باختيار الحل التحليلي المناسب للمشكلة التقنية، وتحسين التكلفة (Cost Optimization) بحذف البيانات والبنية التحتية غير المستخدمة وتقليل الإفراط في التزويد، والموثوقية (Reliability) بفهم أنماط ETL وELT وETLT لتصميم مرونة أعباء عمل التحليلات.
- الأمان: طبّق سياسات الصلاحية الأقل للأنظمة المصدر والوجهة، وامنح كل مستخدم الحد الأدنى من الصلاحيات التي يحتاجها.
- كفاءة الأداء: حدد حلول التحليلات التي تناسب تحدياتك التقنية — Redshift للمستودعات وKinesis للبيانات التدفقية وQuickSight للتصورات.
- تحسين التكلفة: احذف البيانات المنتهية صلاحيتها باستخدام S3 Lifecycle Configurations، وقلّل الإفراط في التزويد بنقل البيانات غير المستخدمة من مستودع البيانات إلى بحيرة البيانات.
- الموثوقية: افهم متطلبات العمل لأنماط نقل البيانات الثلاثة: ETL (تحويل قبل التحميل)، وELT (تحميل ثم تحويل)، وETLT (مزيج لمعايير الجودة الأولية).
يحدد أولويات الركائز: الأمان أولاً (لأن البيانات حساسة) ثم كفاءة الأداء ثم تحسين التكلفة ثم الموثوقية.
يطبق مبدأ الصلاحية الأقل: المحللون يقرأون فقط ← مهندسو البيانات يقرأون ويكتبون ← المسؤولون فقط لديهم صلاحية الحذف.
يستخدم Redshift Spectrum لتقليل التكلفة ويحذف البيانات المنتهية تلقائياً عبر S3 Lifecycle.
يكرر التقييم كل ربع سنة لإضافة المزيد من أفضل الممارسات.
- عدسة تحليلات البيانات (Data Analytics Lens) توفّر أفضل الممارسات لتقييم أعباء عمل التحليلات.
- طبّق مبدأ الصلاحية الأقل على جميع الأنظمة والبيانات في خط الأنابيب.
- اختر حل التحليلات المناسب للمشكلة التقنية المحددة.
- احذف البيانات غير المستخدمة وقلّل الإفراط في التزويد لتحسين التكلفة.
- افهم أنماط ETL وELT وETLT لتصميم موثوقية أعباء عمل التحليلات.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Data Analytics Lens | عدسة تحليلات البيانات | مجموعة أفضل ممارسات لتقييم وتصميم أعباء عمل تحليلات متقنة. |
| Least Privilege | الصلاحية الأقل | مبدأ أمني يمنح كل مستخدم أو نظام الحد الأدنى من الصلاحيات اللازمة فقط. |
| ETLT | استخراج-تحويل-تحميل-تحويل | نمط هجين يجمع ETL للمعايير الأولية وELT للتحويلات اللاحقة. |
| S3 Lifecycle | دورة حياة S3 | قواعد تلقائية لنقل البيانات بين فئات تخزين S3 أو حذفها حسب زمن الاحتفاظ. |
| Well-Architected Review | مراجعة الهندسة المتقنة | عملية تقييم دورية لأعباء العمل مقابل أفضل ممارسات AWS. |
🚀 الخاتمة
في هذه الوحدة تعلمنا كيفية تصميم وتنفيذ خطوط أنابيب البيانات باستخدام خدمات AWS بدءاً من فهم الخصائص الخمس للبيانات (Five Vs) التي تحدد قرارات البنية التحتية، مروراً بأنماط الإدخال المختلفة (المتجانس وغير المتجانس) والمعالجة (المجمّعة والتدفقية)، وصولاً إلى أدوات AWS المتخصصة مثل Amazon AppFlow وAWS Glue وAmazon Kinesis للتكامل والمعالجة. استعرضنا أيضاً خيارات التخزين في بنية البيانات الحديثة (بحيرة البيانات مقابل مستودع البيانات) وكيفية اختيار الحل المناسب بناءً على التكلفة ووقت الاستعلام وفترة الاحتفاظ، وتعلمنا عن المعالجة المتوازية باستخدام Amazon EMR وكيفية تنقية البيانات في مناطق بحيرة البيانات. وأخيراً تعرفنا على أدوات التحليل والتصور (QuickSight وAthena وOpenSearch) وكيفية تطبيق مبادئ إطار AWS Well-Architected Framework لضمان أمان وكفاءة وموثوقية وتحسين تكلفة أعباء عمل تحليلات البيانات.
