قد يكون من الصعب بعض الشيء مراعاة جميع الخدمات المتاحة والخيارات المعمارية عند التفكير في منصات البيانات.
غالبًا ما تتكون منصة بيانات المؤسسة من مستودعات البيانات ونماذج البيانات ومخازن البيانات والتقارير ، ولكل منها غرض محدد ومجموعة من المهارات المطلوبة. في المقابل ، ظهر تصميم جديد يسمى مستودع بحيرة البيانات خلال السنوات القليلة الماضية.
يتم الجمع بين تعدد استخدامات بحيرات البيانات وإدارة بيانات مستودع البيانات في بنية تخزين بيانات ثورية يطلق عليها اسم "مستودع بحيرة البيانات".
سنقوم بفحص بحيرة البيانات بعمق في هذا المنشور ، بما في ذلك مكوناته وميزاته وهندسته المعمارية والجوانب الأخرى.
ما هو Data Lakehouse؟
كما يوحي الاسم ، فإن بحيرة البيانات هي نوع جديد من بنية البيانات التي تجمع بين بحيرة البيانات ومخزن البيانات لحل أوجه القصور في كل منها على حدة.
في جوهره ، يستخدم نظام Lakehouse التخزين غير المكلف للحفاظ على كميات هائلة من البيانات في أشكالها الأصلية ، مثل الكثير من بحيرات البيانات. توفر إضافة طبقة البيانات الوصفية أعلى المتجر أيضًا بنية البيانات وتمكين أدوات إدارة البيانات مثل تلك الموجودة في مستودعات البيانات.
يقوم بتخزين الأحجام الهائلة من البيانات المنظمة وشبه المهيكلة وغير المهيكلة التي يحصلون عليها من تطبيقات وأنظمة وأدوات العمل المختلفة المستخدمة في جميع أنحاء مؤسستهم.
في معظم الأوقات ، تستخدم بحيرات البيانات بنية تحتية للتخزين منخفضة التكلفة مع واجهة برمجة تطبيقات الملفات (API) لتخزين البيانات في تنسيقات ملفات عامة مفتوحة.
هذا يجعل من الممكن للعديد من الفرق الوصول إلى جميع بيانات الشركة من خلال نظام واحد لمجموعة متنوعة من المبادرات ، مثل علم البيانات ، آلة التعلموذكاء الأعمال.
المميزات
- تخزين منخفض التكلفة. يجب أن يكون مستودع بحيرة البيانات قادرًا على تخزين البيانات في تخزين العناصر غير المكلف ، مثل سحابة جوجل التخزين أو تخزين Azure Blob أو Amazon Simple Storage Service أو باستخدام ORC أو Parquet بشكل أصلي.
- القدرة على تحسين البيانات: يعد تحسين تخطيط البيانات والتخزين المؤقت والفهرسة بعض الأمثلة على كيفية قدرة بحيرة البيانات على تحسين البيانات مع الحفاظ على التنسيق الأصلي للبيانات.
- طبقة من البيانات الوصفية للمعاملات: علاوة على التخزين الأساسي منخفض التكلفة ، يتيح ذلك إمكانات إدارة البيانات الحاسمة لأداء مستودع البيانات.
- دعم API Declarative DataFrame API: يمكن لغالبية أدوات الذكاء الاصطناعي استخدام DataFrames لاسترداد بيانات تخزين العناصر الأولية. يزيد دعم API Declarative DataFrame من القدرة على تحسين عرض البيانات وهيكلها ديناميكيًا استجابةً لعلم بيانات معين أو مهمة AI.
- دعم معاملات ACID: يعتبر اختصار ACID ، الذي يرمز إلى الذرية والاتساق والعزلة والمتانة ، مكونًا مهمًا في تحديد المعاملة وضمان اتساق البيانات والاعتمادية عليها. كانت مثل هذه المعاملات ممكنة في السابق فقط في مستودعات البيانات ، ولكن يوفر Lakehouse خيار الاستفادة منها مع بحيرات البيانات كذلك. مع العديد من خطوط أنابيب البيانات بما في ذلك قراءة البيانات المتزامنة وكتابتها ، فإن هذا يحل مشكلة انخفاض جودة البيانات لهذا الأخير.
عناصر Data Lakehouse
تنقسم بنية بحيرة البيانات إلى مستويين رئيسيين على مستوى عالٍ. يتم التحكم في مدخول بيانات طبقة التخزين بواسطة منصة Lakehouse (أي بحيرة البيانات).
بدون الحاجة إلى تحميل البيانات في مستودع بيانات أو تحويلها إلى تنسيق خاص ، يمكن لطبقة المعالجة عندئذٍ الاستعلام عن البيانات الموجودة في طبقة التخزين مباشرةً باستخدام مجموعة من الأدوات.
بعد ذلك ، يمكن لتطبيقات ذكاء الأعمال ، بالإضافة إلى تقنيات الذكاء الاصطناعي والتعلم الآلي ، استخدام البيانات. يتم توفير اقتصاديات بحيرة البيانات من خلال هذا التصميم ، ولكن نظرًا لأن أي محرك معالجة يمكنه قراءة هذه البيانات ، تتمتع الشركات بحرية إتاحة البيانات المعدة للتحليل بواسطة مجموعة من الأنظمة. يمكن تحسين أداء المعالج وتكلفته باستخدام هذه الطريقة للمعالجة والتحليل.
نظرًا لدعمها لمعاملات قاعدة البيانات التي تلتزم بمعايير ACID التالية (الذرية والاتساق والعزل والاستمرارية) ، تتيح البنية أيضًا للعديد من الأطراف الوصول إلى البيانات وكتابتها في وقت واحد داخل النظام:
- Atomicity يشير إلى حقيقة أن المعاملة الكاملة أو عدم نجاح أي منها أثناء إتمام الصفقة. في حالة مقاطعة إحدى العمليات ، يساعد ذلك في تجنب فقد البيانات أو تلفها.
- اتساق تضمن المعاملات تحدث بطريقة متسقة ويمكن التنبؤ بها. يحافظ على سلامة البيانات من خلال ضمان شرعية كل بيانات وفقًا للقواعد المحددة مسبقًا.
- العزلة يضمن أنه حتى الانتهاء ، لا يمكن أن تتأثر أي معاملة بأي معاملة أخرى داخل النظام. هذا يسمح للعديد من الأطراف بالقراءة والكتابة من نفس النظام في وقت واحد دون التدخل مع بعضها البعض.
- المتانة يضمن استمرار وجود التغييرات التي تطرأ على البيانات في النظام بعد انتهاء المعاملة ، حتى في حالة فشل النظام. يتم الاحتفاظ بأي تعديلات ناتجة عن معاملة في الملف إلى الأبد.
هندسة البيانات ليك هاوس
Databricks (مبتكر ومصمم مفهوم Delta Lake) و AWS هما الداعمان الرئيسيان لمفهوم مستودع بحيرة البيانات. وبالتالي يجب أن نعتمد على معرفتهم ورؤيتهم لوصف التخطيط المعماري لمنازل البحيرة.
عادة ما يتكون نظام بحيرة البيانات من خمس طبقات:
- طبقة الابتلاع
- طبقة التخزين
- طبقة البيانات الوصفية
- طبقة API
- طبقة الاستهلاك
طبقة الابتلاع
الطبقة الأولى للنظام هي المسؤولة عن جمع البيانات من مصادر مختلفة وإرسالها إلى طبقة التخزين. يمكن للطبقة استخدام العديد من البروتوكولات للاتصال بالعديد من المصادر الداخلية والخارجية ، بما في ذلك الجمع بين إمكانيات معالجة البيانات المجمعة والمتدفقة ، مثل
- قواعد بيانات NoSQL ،
- مشاركات الملفات
- تطبيقات CRM ،
- المواقع،
- مستشعرات إنترنت الأشياء ،
- وسائل الاعلام الاجتماعية ،
- تطبيقات البرمجيات كخدمة (SaaS) ، و
- أنظمة إدارة قواعد البيانات العلائقية ، إلخ.
في هذه المرحلة ، يمكن استخدام مكونات مثل Apache Kafka لتدفق البيانات وخدمة Amazon Data Migration Service (Amazon DMS) لاستيراد البيانات من قواعد بيانات RDBMS و NoSQL.
طبقة التخزين
تهدف بنية Lakehouse إلى تمكين تخزين أنواع مختلفة من البيانات ككائنات في مخازن الكائنات غير المكلفة ، مثل AWS S3. باستخدام تنسيقات الملفات المفتوحة ، يمكن لأدوات العميل قراءة هذه العناصر مباشرة من المتجر.
هذا يجعل من الممكن للعديد من واجهات برمجة التطبيقات ومكونات طبقة الاستهلاك الوصول إلى نفس البيانات واستخدامها. تخزن طبقة البيانات الوصفية المخططات لمجموعات البيانات المهيكلة وشبه المهيكلة بحيث يمكن للمكونات تطبيقها على البيانات أثناء قراءتها.
يمكن استخدام نظام Hadoop Distributed File System (HDFS) ، على سبيل المثال ، لإنشاء خدمات المستودعات السحابية التي تقسم الحوسبة والتخزين في أماكن العمل. ليك هاوس مناسب بشكل مثالي لهذه الخدمات.
طبقة البيانات الوصفية
طبقة البيانات الوصفية هي المكون الأساسي لبحيرة البيانات التي تميز هذا التصميم. إنه كتالوج واحد يقدم بيانات وصفية (معلومات حول أجزاء البيانات الأخرى) لجميع العناصر المخزنة في البحيرة ويسمح للمستخدمين بتوظيف إمكانيات الإدارة مثل:
- يتم رؤية نسخة متسقة من قاعدة البيانات من خلال المعاملات المتزامنة بفضل معاملات ACID ؛
- التخزين المؤقت لحفظ ملفات تخزين الكائنات السحابية ؛
- إضافة فهارس بنية البيانات باستخدام الفهرسة لتسريع معالجة الاستعلام ؛
- استخدام استنساخ نسخة صفرية لتكرار كائنات البيانات ؛ و
- لتخزين إصدارات معينة من البيانات ، وما إلى ذلك ، استخدم إصدارات البيانات.
بالإضافة إلى ذلك ، تتيح طبقة البيانات الوصفية تنفيذ إدارة المخطط ، واستخدام طبولوجيا مخطط DW مثل مخططات النجوم / ندفة الثلج ، وتوفير إدارة البيانات وإمكانية المراجعة مباشرة على بحيرة البيانات ، مما يعزز تكامل خط أنابيب البيانات بالكامل.
يتم تضمين ميزات تطوير المخطط وتطبيقه في إدارة المخطط. من خلال رفض أي عمليات كتابة لا تتوافق مع مخطط الجدول ، يتيح فرض المخطط للمستخدمين الحفاظ على تكامل البيانات وجودتها.
يسمح تطور المخطط بتعديل المخطط الحالي للجدول لاستيعاب البيانات المتغيرة. نظرًا لواجهة إدارة واحدة أعلى بحيرة البيانات ، هناك أيضًا إمكانيات للتحكم في الوصول والتدقيق.
طبقة API
توجد الآن طبقة أخرى مهمة من البنية ، تستضيف عددًا من واجهات برمجة التطبيقات التي يمكن لجميع المستخدمين النهائيين استخدامها لأداء المهام بسرعة أكبر والحصول على إحصائيات أكثر تعقيدًا.
يسهل استخدام واجهات برمجة التطبيقات للبيانات الوصفية تحديد عناصر البيانات اللازمة لتطبيق معين والوصول إليها.
فيما يتعلق بمكتبات التعلم الآلي ، يمكن لبعضها ، مثل TensorFlow و Spark MLlib ، قراءة تنسيقات الملفات المفتوحة مثل Parquet والوصول مباشرة إلى طبقة البيانات الوصفية.
في الوقت نفسه ، توفر واجهات برمجة تطبيقات DataFrame فرصًا أكبر للتحسين ، وتمكين المبرمجين من تنظيم البيانات المشتتة وتغييرها.
طبقة الاستهلاك
تتم استضافة Power BI و Tableau والأدوات والتطبيقات الأخرى ضمن طبقة الاستهلاك. مع تصميم Lakehouse ، يمكن الوصول إلى جميع البيانات الوصفية وجميع البيانات المحفوظة في البحيرة لتطبيقات العميل.
يمكن استخدام Lakehouse من قبل جميع المستخدمين داخل الشركة لأداء جميع أنواع عمليات التحليل، بما في ذلك إنشاء لوحات معلومات الأعمال وتشغيل استعلامات SQL ومهام التعلم الآلي.
مزايا Data Lakehouse
يمكن للمؤسسات إنشاء بحيرة بيانات لتوحيد منصة البيانات الحالية وتحسين عملية إدارة البيانات بالكامل. من خلال تفكيك حواجز الصومعة التي تربط بين المصادر المختلفة ، يمكن أن تحل بحيرة البيانات محل الحاجة إلى حلول متميزة.
مقارنة بمصادر البيانات المنسقة ، ينتج عن هذا التكامل إجراء أكثر فعالية بشكل ملحوظ. هذا له العديد من المزايا:
- إدارة أقل: بدلاً من استخراج البيانات من البيانات الأولية وتجهيزها للاستخدام داخل مستودع البيانات ، تسمح بحيرة البيانات لأي مصادر مرتبطة بها بتوفير بياناتها وتنظيمها للاستخدام.
- زيادة الفعالية من حيث التكلفة: يتم إنشاء مستودعات بحيرات البيانات باستخدام البنية التحتية المعاصرة التي تقسم الحساب والتخزين ، مما يجعل من السهل توسيع التخزين دون زيادة قوة الحوسبة. يؤدي مجرد استخدام تخزين البيانات غير المكلف إلى قابلية التوسع التي تكون فعالة من حيث التكلفة.
- إدارة أفضل للبيانات: يتم إنشاء مستودعات بحيرات البيانات باستخدام بنية مفتوحة موحدة ، مما يسمح بمزيد من التحكم في الأمان والمقاييس والوصول المستند إلى الأدوار ومكونات الإدارة المهمة الأخرى. من خلال توحيد الموارد ومصادر البيانات ، فإنها تبسط وتعزز الحوكمة.
- معايير مبسطة: نظرًا لأن الاتصال كان مقيدًا للغاية في الثمانينيات ، عندما تم تطوير مستودعات البيانات لأول مرة ، تم تطوير معايير المخطط المحلي بشكل متكرر داخل الشركات ، وحتى الأقسام. تستفيد مستودعات بحيرات البيانات من حقيقة أن العديد من أنواع البيانات لديها الآن معايير مفتوحة للمخطط عن طريق استيعاب العديد من مصادر البيانات مع المخطط الموحد المتداخل لتبسيط الإجراءات.
عيوب Data Lakehouse
على الرغم من كل الضجيج المحيط ببحيرات البيانات ، من المهم أن تضع في اعتبارك أن الفكرة لا تزال جديدة جدًا. تأكد من موازنة العيوب قبل الالتزام الكامل بهذا التصميم الجديد.
- هيكل متآلف: يوفر التصميم الشامل لبيت البحيرة العديد من المزايا ، ولكنه يثير أيضًا بعض المشكلات. غالبًا ما تؤدي الهندسة المعمارية المتجانسة إلى ضعف الخدمة لجميع المستخدمين ويمكن أن تكون صارمة ويصعب صيانتها. عادة ، يحب المهندسون المعماريون والمصممين بنية أكثر نمطية يمكنهم تخصيصها لحالات الاستخدام المختلفة.
- التكنولوجيا ليست موجودة بعد: الهدف النهائي يستلزم قدرًا كبيرًا من التعلم الآلي والذكاء الاصطناعي. قبل أن تعمل بيوت البحيرات على النحو المتصور ، يجب تطوير هذه التقنيات بشكل أكبر.
- ليس تقدما كبيرا على الهياكل القائمة: لا يزال هناك شك كبير حول مقدار القيمة التي ستساهم بها منازل البحيرات بالفعل. يؤكد بعض المنتقدين أن تصميم مستودع البحيرة المقترن بالمعدات الآلية المناسبة يمكن أن يحقق كفاءة مماثلة.
تحديات Data Lakehouse
قد يكون من الصعب تبني أسلوب بحيرة البيانات. نظرًا لتعقيد الأجزاء المكونة لها ، فمن غير الصحيح عرض بحيرة البيانات على أنها بنية مثالية شاملة أو "منصة واحدة لكل شيء" لشخص واحد.
بالإضافة إلى ذلك ، نظرًا للاعتماد المتزايد لبحيرات البيانات ، سيتعين على الشركات نقل مستودعات البيانات الحالية إليها ، معتمدين فقط على وعد بالنجاح دون أي فائدة اقتصادية يمكن إثباتها.
إذا كانت هناك أي مشكلات تتعلق بوقت الاستجابة أو انقطاعات خلال عملية النقل ، فقد ينتهي الأمر بهذا الأمر إلى أن يكون مكلفًا ويستغرق وقتًا طويلاً وربما غير آمن.
يجب أن يتبنى مستخدمو الأعمال تقنيات عالية التخصص ، وفقًا لبائعين معينين يسوقون صراحةً أو ضمنيًا الحلول كمستودعات بيانات. قد لا تعمل هذه دائمًا مع أدوات أخرى مرتبطة ببحيرة البيانات في مركز النظام ، مما يضيف إلى المشكلات.
بالإضافة إلى ذلك ، قد يكون من الصعب توفير تحليلات على مدار الساعة طوال أيام الأسبوع أثناء تشغيل أعباء العمل المهمة للأعمال ، والتي تتطلب بنية تحتية ذات قابلية توسع فعالة من حيث التكلفة.
وفي الختام
أحدث مجموعة متنوعة من مراكز البيانات في السنوات الأخيرة هي بحيرة البيانات. يدمج مجموعة متنوعة من المجالات ، مثل تكنولوجيا المعلومات ، والبرمجيات مفتوحة المصدر ، الحوسبة السحابية، وبروتوكولات التخزين الموزعة.
إنه يمكّن الشركات من تخزين جميع أنواع البيانات مركزيًا من أي مكان ، مما يبسط الإدارة والتحليل. يعتبر Data Lakehouse مفهومًا مثيرًا للاهتمام.
ستتمتع أي شركة بميزة تنافسية كبيرة إذا كان لديها إمكانية الوصول إلى منصة بيانات الكل في واحد التي كانت سريعة وفعالة مثل مستودع البيانات مع كونها مرنة مثل بحيرة البيانات.
لا تزال الفكرة قيد التطوير ولا تزال جديدة نسبيًا. نتيجة لذلك ، قد يستغرق الأمر بعض الوقت لتحديد ما إذا كان يمكن أن ينتشر شيء ما أم لا.
يجب أن نشعر جميعًا بالفضول بشأن الاتجاه الذي تتجه إليه الهندسة المعمارية في ليك هاوس.
اترك تعليق