بقلم شفيع البيطار
مهندس معلوماتية
المقدمة
يعتبر نموذج مركز المعطيات Data Center آليةً مهمتها التعامل مع الكم الهائل والمتدفق من المعطيات التي يجري إنتاجها على مدار الساعة من عدة مصادر؛ مثل: أنظمة إنترنت الأشياء Internet Of Things، وأدوات توليد المعطيات الأخرى. ويجري العمل حاليًّا للانتقال من هذا النموذج إلى نموذج جديد يسمى (بحيرة المعطيات)، وهو أشد اتساعًا وأكثر استيعابًا وأقل تكلفة.
في النموذج الجديد ستختفي قواعد المعطيات العلائقية Relational Database أو تلك المعتمدة على الهيكلية المستندة إلى العلاقات البينية للمعطيات بعضها مع بعض، التي ظهرت منذ عقود، وكانت الهيكلية الأكثر انتشارًا ورسوخًا في مراكز المعطيات. وسوف تبرز قواعد معطيات جديدة فائقة الاتساع وذات هيكلية مختلفة وستكون مسؤولة عن تشغيل النموذج الجديد.
سنتعرَّف في هذه المقالة نموذجَ بحيرة المعطيات، ومدى اختلافه عن مستودع المعطيات Data Warehouse، وكيفية بنائه، وفوائده، والتحديات الموجودة أمامه.
تعريف بحيرة المعطيات
بحيرةُ المعطيات هي مخزنٌ يمكننا أن نخزِّن فيه كميةً كبيرة من المعطيات Big Data بجميع صورها وأنواعها:
- المهيكلة Structured data القادمة من قاعدة المعطيات (أعمدة وأسطر)،
- وشبه المهيكلة Semi-structured data مثل (CSV, logs, XML, JSON) ،
- وغير المهيكلة Unstructured data مثل (emails, documents, PDFs)،
- ومعطيات بالتمثيل الثنائي binary data مثل (images, audio, video) [1].
يمكن الرجوع إلى البحيرة عند الحاجة إلى الإجابة عن أسئلة محددة، أو اختبار فرضيات معيَّنة، أو تحليل المعطيات للوصول إلى رؤًى وحقائقَ لم تكتشف بَعْدُ.
تصبُّ في البحيرة جميعُ المعطيات من مختلف المصادر، وتتميز بتركيبة وأسلوب مختلف يعطيها مرونة للتعامل مع الكم الكبير من المعطيات غير المنظَّمة. وهذا يختلف عن الأسلوب المعتاد في قواعد المعطيات التي تعمل جيدًا إذا كانت المعطياتُ منظَّمةً وخاليةً من الشوائب قدر الإمكان. وبسبب هذه الهيكلية تعتبر تكلفة الاستثمار في البنية التحتية لبحيرات المعطيات منخفضة نسبيًّا مقارنةً بالحلول الأخرى.
مقارنة بحيرة المعطيات بمستودع المعطيات
إن بحيرة المعطيات ومستودع المعطيات أداتان مختلفتان تخدمان أغراضًا مختلفة، ويمكن الاستفادة منهما معًا بحيث تُكمِّل إحداهما الأخرى. وتَستعمل المؤسساتُ كلًّا منهما للتعامل مع الأحجام الكبيرة من المعطيات الآتية من مصادر مختلفة [2].
يمكن المقارنة بينهما من النواحي التالية:
- نوع المعطيات:
تحتفظ البحيرة بالمعطيات بكافة أشكالها وأنواعها، سواء أكانت منظَّمة أم غير منظَّمة؛ فقد لا تُستعمل بعض هذه المعطيات المخزَّنة في البحيرة على الإطلاق. أما مستودع المعطيات، فيحتوي على المعطيات المعالَجة والمنظَّمة فقط، إضافة إلى المعطيات التي تُستعمل لإعداد التقارير أو للإجابة عن بعض الأسئلة العملية.
- سهولة التعديل:
من السهل إجراء التعديلات على النماذج في بحيرة المعطيات، وذلك بسبب مرونتها. وكذلك يمكن إعادة هيكلتها كلما دعت الحاجة. أما في مستودع المعطيات، فإن الأمر يتطلب وقتًا طويلًا وجهدًا كبيرًا لتعديل هياكل المعطيات، وذلك بسبب وجود العديد من الإجراءات المرتبطة بذلك.
- محلِّلو البيانات:
يستطيع محلِّلو البيانات النفاذَ المرن إلى المعطيات في البحيرة، وذلك بسبب مهاراتهم وقدراتهم اللازمة لإجراء التحليلات العميقة، على حين أن عددًا محدودًا منهم يستعملون مستودع المعطيات لتقديم التقارير واستنباط معانٍ محدَّدة من المعطيات. إضافة إلى أن مستودع المعطيات يقيِّد محلِّلي البيانات الذين يرغبون أحيانًا في الخروج عن القيود الموضوعة وإجراء تحليلات جديدة وعميقة.
- مستويات الأمان:
تتميَّز مستويات الأمان في مستودعات المعطيات بأنها مرتفعة مقارنةً بتلك المخصصة لبحيرات المعطيات؛ فثمة قلق ومخاوف بشأن تعرّض المعطيات في البحيرات للمخاطر نتيجة تخزينها تخزينًا عشوائيًّا وبطريقة غير منظّمة، في حين أن آلية الرقابة والإشراف على المعطيات في المستودعات أسهل بكثير.
ويعتمد اتخاذ القرار في استعمال البحيرة أو المستودع على ما تنوي المؤسسة فعله بالمعطيات [3]. وفيما يلي وصف لأفضل طريقة لاستعمال كلٍّ منهما:
- تعمل بحيرات المعطيات على تخزين عدد كبير من المعطيات المتباينة وغير المرشحة لاستعمالها لاحقًا لغرض معيَّن. لذلك إذا احتاجت المؤسسات إلى تخزين منخفض التكلفة للمعطيات غير المنسقة من مصادر متعددة، لاستعمالها لغرض معيَّن في المستقبل، فقد تكون بحيرة المعطيات هي الاختيار الصحيح.
- تهدف مستودعات المعطيات بوجه خاص إلى تحليل المعطيات. تجري المعالجة التحليلية داخل المستودع على المعطيات التي تم تجهيزها للتحليلات والتي تم جمعها ووضعها في السياق وتحويلها بهدف إنشاء رؤى قائمة على التحليلات. وكذلك فإن مستودعات المعطيات بارعة أيضًا في التعامل مع أحجام كبيرة من المعطيات من مصادر مختلفة. لذلك إذا احتاجت المؤسسات إلى تحليلات متقدمة أو تحليلات تعتمد على المعطيات القديمة من مصادر متعددة عن طريق المؤسسة، فمن المحتمل أن يكون مستودع المعطيات هو الخيار الصحيح.
البنية العامة لبحيرة المعطيات
يُعتبر جيمس ديكسون James Dixon أول من استعمل مصطلح بحيرة المعطيات [4]، وقد فسَّر المصطلح ببحيرة تتدفّق مياهها من مصدر وافر، ويمكن الرجوع إليها في أي وقت للبحث فيها واستعمالها وأخذ العيّنات اللازمة. وقد وضع البنيان Architecture الأساسي للبحيرة وفق المستويات الرئيسية التالية [5]:
- مستوى الإدخال Ingestion Tier: هو المستوى الذي يتيح جمع المعطيات بمختلف أشكالها ومصادرها وتخزينها في البحيرة، ويمكن أن يجري تجميع المعطيات على شكل دفعات Batches أو في الزمن الحقيقي Real Time.
- مستوى التبصر Insights Tier: هو المستوى الذي يمكِّن من تحليل المعطيات عن طريق إيجاد أنماط معيَّنة تجمع فيما بينها وتحويلها إلى معطيات منظمة يسهل تحليلها. وقد تُستعمل بعض الأدوات مثل استعلام SQL أو NOSQL أو Excel لتحليل المعطيات.
- مستوى التخزين HDFS: هو إطار برمجياتٍ مفتوحُ المصدر من أباتشي Apache يُستعمل لتخزين ومعالجة مجموعات كبيرة من المعطيات باستعمال نموذج البرمجة مابريديوس MapReduce. يتكون جوهر العمل فيه من جزء التخزين المعروف باسم نظام الملفات الموزعة في هادوب Hadoop Distributed File System ومن جزء المعالجة المعتمِد على نموذج البرمجة مابريديوس [6].
- مستوى الفلترة Distillation Tier: وفيه تُجلب المعطيات من مكان تخزينها وتُحوَّل إلى معطيات مهيكلة لتسهيل تحليلها.
- مستوى المعالجة Processing Tier: يجري فيه تشغيل خوارزميات تحليلية analytical algorithms ويُستعلَم عن المعطيات في الزمن الحقيقي لتوليد معطيات مهيكلة يَسهل تحليلها فيما بعد.
- مستوى العمليات الموحدة Unified Operations Tier: يتحكم هذا المستوى في إدارة النظام ومراقبته، ويتضمن ذلك: التدقيق auditing، وإدارة الكفاءة proficiency management، وإدارة المعطيات، وإدارة سير العمل workflow management.
الكتل المرتبطة ببحيرة المعطيات
نعرض فيما يلي بعض الكتل المرتبطة ببحيرة المعطيات والتي تساعد في فهم الهيكلية الأساسية للبحيرة [5].
- إدخال المعطيات Data Ingestion
يمكن أن تكون البحيرة مصبًّا لمعطيات تأتي من مصادر متنوعة. ويمكن أن تكون هذه المعطيات:
- جميع أنواع المعطيات المهيكلة وشبه المهيكلة وغير المهيكلة
- معطيات على شكل دفعات أو بالزمن الحقيقي أو تُحمَّل مرة واحدة One-time load
- أنواع مختلفة من مصادر المعطيات؛ مثل: قواعد المعطيات، أو مخدمات الوب، أو الرسائل الإلكترونية، أو إنترنت الأشياء، أو ملفات يجري نقلها عن طريق بروتوكول FTP ...إلخ
- تخزين المعطيات Data Storage
يجب أن يكون التخزين قابلًا للتطوير scalable ومنخفض التكلفة cost-effective ويوفر نفاذًا سريعًا لاستكشاف المعطيات data exploration، ويجب أن يدعم أيضًا تخزين أنواع مختلفة من المعطيات.
- حوكمة المعطيات Data Governance
هو إجراءٌ لإدارة توفير المعطيات (المتاحية) availability والاستعمالية usability والأمن Security والتكامل integrity.
- الأمن
يجب أن يكون الأمن محققًا في كل مستوى من مستويات البحيرة بدءًا من تخزين المعطيات ثم الكشف عنها Unearthing ثم استهلاكها Consumption. والمتطلب الأساسي هو منع النفاذ إليها لغير المصرح لهم. كما يجب دعم مختلف الأدوات للاستعلام عن المعطيات وتسهيل قراءة النتائج عن طريق المخططات. بعض سمات الأمن هي الاستيقان Authentication وإدارة الحسابات Accounts والتخويل Authorization وحماية المعطيات Data Protection.
- الجودة Data Quality
عندما تكون المعطيات فقيرة من ناحية الجودة poor quality data فهذا سيعطي بالتاكيد تحليلات خاطئة wrong insights.
- البحث في المعطيات Data Discovery
هذه المرحلة مهمة من أجل تحضير المعطيات لعملية التحليل، ويجري خلالها وسم المعطيات tagging لتسهيل فهمها وتنظيمها قبل إدخالها في البحيرة.
- المراقبة Data Auditing
ثمة مهمتان أساسيتان لتعقب التغييرات على مجموعة المعطيات dataset:
- تعقب التغييرات على العناصر الرئيسية والمهمة important elements في مجموعة المعطيات.
- معرفة كيف ومتى ومن قام بتعديل العناصر.
تساعد عملية المراقبة على تقييم المخاطر Risk Evaluation.
- تغير المعطيات مع الزمن Data Lineage
تتعامل هذه الكتلة مع وضع المعطيات الخام، وتدرس تغيُّر هذه المعطيات مع الزمن وما الذي يحدث لها.
- استكشاف المعطيات
هذه المرحلة هي بداية تحليل المعطيات، وتساعد على تحديد مجموعة المعطيات المهمة Vital Dataset قبل البدء باستكشاف المعطيات.
إن جميع المكونات السابقة بحاجة إلى أن تعمل بعضها مع بعض وتساهم في بناءِ بحيرة المعطيات بناءً متكاملًا، وهو ما سنتحدث عنه في الفقرة التالية.
بناء بحيرة المعطيات
تمرّ عملية بناء بحيرة المعطيات بالمراحل الآتية [5]:
- استيعاب أكبر قدر من البيانات: تشمل المرحلة الأولى تطوير قدرة المنشأة على نقل البيانات وجمعها، حيث يجب على أصحاب الأعمال العثور على الأدوات التي تتناسب مع مهاراتهم وقدراتهم لجمع المزيد من البيانات وإنشاء التطبيقات التحليلية.
- بناء القدرة التحليلية للمنشأة: وهي المرحلة الثانية التي تشمل تطوير قدرة المنشأة على تحليل البيانات، حيث تَستعمل المنشآتُ في هذه المرحلة جميعَ الأدوات التي تتناسب مع مهاراتها وقدراتها، وتبدأ بجمع المزيد من البيانات وإنشاء التطبيقات.
- دمج القدرات التي تتصف بها بحيرة المعطيات ومستودع المعطيات: تشمل هذه المرحلة قدرة المنشأة على إيصال البيانات والتحليلات لأكبر قدر من الأشخاص، حيث تُستعمل بحيرة المعطيات ومستودع المعطيات معًا لتؤدّي كلُّ أداةٍ المهامَّ والأعمال الخاصة بها.
- إضافة القدرات التي تتصف بها المنشأة إلى بحيرة المعطيات: تُضاف القدرات والمهارات التي تتصف بها المنشأة إلى بحيرة المعطيات، ويشمل ذلك قدرتها على اعتماد حوكمة المعلومات والمهارات الإدارية وغيرها.
البرمجيات الخاصة ببحيرة المعطيات
توفّر كلٌّ من أمازون (Amazon S3) وغوغل (Google Cloud Storage) مجموعةً متنوعة من أدوات بحيرة المعطيات جنبًا إلى جنب مع خدمات التخزين السحابية الأساسية الخاصة بهما، وتتوفر أيضًا برامج أخرى للاستفادة من هذه التقنية؛ نذكر منها [7]:
- أداة Apache NiFi: هي أداة مفتوحة المصدر ومرخصة من Apache لتحضير البيانات وتخزينها في بحيرات المعطيات، وهي متوفرة تجاريًّا من Hortonworks باسم DataFlow.
- برنامج Cambridge Semantics: هو أحدث إصدار من منتج Anzo Smart data، يضيف طبقة للمعالجة الدلالية للبيانات تخص كلًّا من عمليات القراءة والمعالجة، بحيث يمكن القيام بالإعداد والتحليل عند الطلب. وهو يتضمن نماذج بيانية لعرض نتائج تحليل المعطيات عرضًا يُسهِّل فهمها.
- تقدِّم Zaloni منصة بحيرة معطيات للمؤسسات تسمى Zaloni Data Platform، تتضمن دعمًا للنشر السحابي والداخلي، ومنصة إدارة، وكتالوج بيانات، ومناطق لإدارة البيانات، وأدوات إعداد البيانات ومعالجتها من البداية إلى النهاية.
- تقدِّم أوراكل بيئة Oracle Big Data Cloud ومجموعةً متنوعة من الخدمات PaaS services لإدارة هذه السحابة.
- تقدِّم HVR حلولًا للمؤسسات التي ترغب في تخزين كمية كبيرة من المعطيات وتعديلها في الزمن الحقيقي.
- تقدِّم Snowflake حلًّا متخصصًا لمعالجة مختلف مجموعات المعطيات، ويتضمن ذلك المعطيات المهيكلة وشبه المهيكلة مثل JSON و XML و Parquet.
- تقدِّم مايكروسوفت بحيرة المعطيات Azure Data Lake باعتبارها بيئة تخزين وخدمة تحليل تعمل على التوازي parallel analytics service.
منافع وتحديات بحيرة المعطيات
فيما يلي بعض منافع استعمال بحيرة المعطيات [8]:
- تساعد على إجراء العديد من التحليلات المتقدمة.
- توفِّر إمكان النفاذ المرن إلى البيانات، إضافة إلى أنها منخفضة التكلفة.
- توفِّر أنواعًا مختلفة من البيانات وبكميات غير محدودة وبجودة عالية.
- تسهِّل إجراء التعديلات والتغييرات على البيانات المخزنة.
- تُعتبر بحيرة المعطيات المركز الرئيسي لمصادر المحتوى المختلفة.
ومن ناحية أخرى ثمة بعض التحديات المرتبطة ببحيرة المعطيات [9]:
- قد تفقد بحيرة المعطيات أهميّتها مع مرور الوقت.
- قد تزداد نسبة المخاطر المرتبطة بكمية البيانات الكبيرة المتوفّرة في بحيرة المعطيات.
- قد لا تخضع البيانات غير المهيكلة للرقابة أو قد لا تكون قابلة للاستعمال.
- يزيد استعمال البحيرة من تكاليف التخزين والنقل المترتّبة على الشركة.
- لا توجد طريقة يمكن بواسطتها الحصول على وجهات نظر الآخرين الذين استعملوا البيانات، كما أنه لا توجد سجلّات للنتائج التي توصَّل إليها المحللون السابقون.
- تتمثّل أكبر مخاطر بحيرات المعطيات في مستويات الأمن المنخفضة، فالبيانات المخزّنة لا تخضع لأيّة رقابة، كما أن بعض البيانات تحتاج أحيانًا للحماية والخصوصية.
الخاتمة
في بداية هذا العام أطلقت وزارة المالية في دولة الإمارات العربية المتحدة برنامج "بحيرة البيانات" الذي يستهدف الاستفادة من البيانات المالية الخاصة بالوزارة في بناء خطط ورؤى واستراتيجيات مستقبلية تدعم الريادة المالية للدولة. يتيح هذا البرنامج للوزارة منصة عمل موحدة تدعم الحوكمة لعملية معالجة وتحليل البيانات من مختلف المصادر وبقطع النظر عن حجمها وهيكليتها. ويمتاز البرنامج بإمكان النفاذ الفوري للبيانات المعالجة، وهو ما يدعم كفاءة عملية صنع القرار على مختلف المستويات [10].
وكما فعلت وزارة المالية الإماراتية، فإن المختصين بتحليل البيانات يتوقعون أن يكون هذا التوجه هو السائد في المستقبل، حيث ستتجه المؤسسات لجمع أكبر قدر ممكن من البيانات التي تتاح لها ورميها في بحيرة المعطيات معتمدين في ذلك على سببين رئيسين؛ الأول مستوى المرونة التي توفرها البحيرات في التعامل مع البيانات وتركيباتها المختلفة، والثاني التكلفة التشغيلية المنخفضة نسبيًّا. ولأننا نعيش في عصر الثورة الصناعية الرابعة Industry 4.0 وفي زمن إنترنت الأشياء، فإن حجم المعطيات الذي يمكن الحصول عليه يتضاعف باستمرار، وينصح المختصون برسم استراتيجية واضحة وسياسات اتخاذ قرار تحدد نوع البيانات المستهدفة والمرغوب جمعها لخدمة أعمال المؤسسة في الوقت الحالي وفي المستقبل، فالعشوائية والاجتهادات الفردية من غير المختصين ودون الاعتماد على خطة استراتيجية للمعطيات الضخمة تكون متوائمة مع استراتيجية المؤسسة الأساسية وتراعى فيها المخاطر وأساليب صيانة المعطيات وإدارتها وتسهيل تحليلها والاستفادة منها في تحقيق أهداف المؤسسة قد يحوّل بحيرة المعطيات إلى مخازن تتراكم فيها المعطيات بطريقة تصعب إداراتها والاستفادة منها لتصبح فيما بعد مكانا يشبه مكبًّا للنفايات!
المراجع
[1] Data Lake, https://en.wikipedia.org/wiki/Data_lake
[2] Data Lake vs Data Warehouse, https://www.talend.com/resources/data-lake-vs-data-warehouse/
[3] Top Five Differences between Data Lakes and Data Warehouses, https://www.blue-granite.com/blog/bid/402596/top-five- differences-between-data-lakes-and-data-warehouses
[4] A Brief History of Data Lakes, https://www.dataversity.net/brief-history-data-lakes/
[5] What is Data Lake? It's Architecture, https://www.guru99.com/data-lake-architecture.html
من نظام إدارة الملفات في غوغل إلى هادوب، د. كادان الجمعة، مجلة المعلوماتية، العدد 133-134، 2017[6]
[7] Data Lake, https://searchaws.techtarget.com/definition/data-lake
[8] 9 Key Benefits of Data Lake, https://www.datasciencecentral.com/profiles/blogs/9-key-benefits-of-data-lake
[9] What are the challenges with data lakes?, https://databricks.com/discover/data-lakes/challenges
وزارة المالية تطلق برنامج "بحيرة البيانات"، [10] https://wam.ae/ar/details/1395302822747