- ما الحوسبة السحابية؟›
- محور مفاهيم الحوسبة السحابية›
- التحليلات
ما المقصود بـ Apache Iceberg؟
ما المقصود بـ Apache Iceberg؟
Apache Iceberg هو تنسيق جدول بيانات موزع وموجه من المجتمع ومرخص من Apache 2.0 ومفتوح المصدر بنسبة 100٪ يساعد على تبسيط معالجة البيانات على مجموعات البيانات الكبيرة المخزنة في بحيرات البيانات. يستخدم مهندسو البيانات تنسيق Apache Iceberg لأنه سريع وفعّال وموثوق به على أي نطاق، ويحتفظ بسجلات لكيفية تغيُّر مجموعات البيانات بمرور الوقت. يوفر Apache Iceberg عمليات تكامل سهلة مع أطر معالجة البيانات الشائعة مثل Apache Spark و Apache Flink و Apache Hive و Presto والمزيد.
ما مخزن البيانات الخاص بالمعاملات؟
بحيرة البيانات هي مستودع مركزي يسمح لك بتخزين جميع بياناتك المنظمة وغير المهيكلة على أي نطاق. ومعاملة البيانات هي سلسلة من عمليات تبادل البيانات التي تُجرى في عملية واحدة. فعلى سبيل المثال، عندما يسحب العميل أموالاً من حساب بنكي، يجري البنك العديد من عمليات تبادل البيانات في الوقت نفسه في معاملة بيانات واحدة، ويدخل في ذلك التحقق من وجود رصيد كافٍ في الحساب، والتحقق من صحة الهوية، وخصم السحب من الحساب. مخزن بيانات المعاملات هو أحد أنواع مخزن البيانات الذي لا يخزن البيانات على نطاق واسع فحسب، بل يدعم أيضًا العمليات الخاصة بالمعاملات، ويضمن دقة البيانات واتساقها، ويسمح لك بتتبع طريقة تغيير البيانات وبنية البيانات بمرور الوقت. تُعرف هذه الخصائص مجتمعة باسم الذرية والاتساق والعزلة والمتانة (ACID):
-
تضمن Atomicity أن كل معاملة هي حدث واحد ينجح أو يفشل تمامًا؛ لا توجد حالة منتصف الطريق.
-
يضمن الاتساق أن جميع البيانات المكتوبة صالحة وفقًا للقواعد المحددة لبحيرة البيانات، مما يضمن دقة البيانات وموثوقيتها.
-
تضمن العزلة إمكانية حدوث معاملات متعددة في نفس الوقت دون التدخل في بعضها البعض، مما يضمن تنفيذ كل معاملة بشكل مستقل.
-
تعني المتانة عدم فقدان البيانات أو تلفها بمجرد إرسال المعاملة. يمكن استعادة البيانات في حالة فشل النظام، مثل انقطاع التيار الكهربائي.
ما مزايا استخدام تنسيق Apache Iceberg؟
تتضمن بعض المزايا الرئيسة لاستخدام Apache Iceberg في مخازن البيانات الخاصة بالمعاملات ما يلي:
-
الإلمام بـ SQL: لغة الاستعلام المهيكلة (SQL) هي لغة استعلام شائعة تستخدم بشكل متكرر في جميع أنواع التطبيقات. يتعلم محللو البيانات والمطورون لغة الاستعلام المهيكل (SQL) ويستخدمونها؛ لأنها تتكامل جيدًا مع مختلف لغات البرمجة بالإضافة إلى أنها تتميز بسهولة التعلم إلى حد ما؛ حيث إنها تستخدم كلمات أساسية شائعة باللغة الإنجليزية في بياناتها. يسمح Apache Iceberg لأي شخص على دراية بلغة الاستعلام المهيكلة (SQL) ببناء بحيرات البيانات وتنفيذ معظم عمليات بحيرة البيانات دون الحاجة إلى تعلم لغة جديدة.
-
تناسق البيانات: يوفر Apache Iceberg تناسق البيانات للتأكد من أن أي مستخدم يقرأ البيانات ويكتب عليها يرى نفس البيانات.
-
بنية البيانات: يسمح تنسيق Apache Iceberg بإجراء تغييرات بسيطة على بنية البيانات لديك، المعروفة أيضًا باسم تطور المخطط؛ ما يعني أنه يمكن للمستخدمين إضافة أعمدة أو إعادة تسميتها أو إزالتها من جدول البيانات بدون تعطيل البيانات الأساسية.
-
إصدار البيانات: يوفر Apache Iceberg دعمًا لإصدار البيانات، مما يسمح للمستخدمين بتتبع التغييرات التي تطرأ على البيانات بمرور الوقت. يعمل هذا على تمكين ميزة السفر عبر الزمن، والتي تتيح للمستخدمين الوصول إلى الإصدارات التاريخية من البيانات والاستعلام عنها وتحليل التغييرات في البيانات بين التحديثات والحذف.
-
دعم متعدد المنصات: يدعم Apache Iceberg مجموعة متنوعة من أنظمة التخزين ومحركات الاستعلام المختلفة، بما في ذلك Apache Spark و Apache Hive و Presto. هذا يجعل من السهل استخدام Iceberg في مجموعة متنوعة من بيئات معالجة البيانات المختلفة.
-
المعالجة الإضافية: يدعم Iceberg المعالجة التدريجية، والتي تسمح للمستخدمين بمعالجة البيانات التي تغيرت منذ التشغيل الأخير فقط، والمعروفة أيضًا باسم CDC (تغيير التقاط البيانات). يمكن أن يساعد ذلك في تحسين كفاءة معالجة البيانات والأداء.
ما حالات الاستخدام الشائعة لتنسيق Apache Iceberg؟
يناسب Apache Iceberg العديد من حالات استخدام مخزن البيانات، بما يتضمن:
-
جداول البيانات في مخازن البيانات التي تتطلب عمليات حذف متكررة، مثلما يحدث عند إنفاذ قوانين خصوصية البيانات.
-
جداول البيانات في بحيرة البيانات التي تتطلب تحديثات على مستوى السجل. ويكون ذلك مفيدًا عندما تتطلب مجموعة البيانات تحديثات متكررة بعد تسوية البيانات، فعلى سبيل المثال، بيانات المبيعات التي قد تتغير بسبب أحداث لاحقة، مثل عمليات الإرجاع التي يجريها العملاء. يوفر Iceberg إمكانات لتحديث السجلات الفردية دون الحاجة إلى إعادة نشر مجموعة البيانات بأكملها.
-
جداول البيانات في بحيرات البيانات التي تحتوي على تغييرات غير متوقعة، مثل جداول الأبعاد المتغيرة ببطء (SCD). مثال على SCD هو جدول سجلات العملاء الذي يتضمن الاسم والموقع ومعلومات الاتصال التي قد تتغير بمرور الوقت على فترات غير معروفة.
-
عندما تتطلب المعاملات مع مخزن البيانات ضمان صحة البيانات وتحقيق القدرة على التحمل والموثوقية، يمكن نشر تنسيقات جدول Apache Iceberg لضمان إجراء معاملات تتسم بالدقة والاتساق والعزل والقدرة على التحمل (ACID).
-
عندما يلزم العودة في الوقت المناسب للاستعلام عن الإصدارات السابقة للبيانات بغرض إجراء تحليل الاتجاهات أو تحليل التغييرات التي تطرأ على البيانات خلال فترة زمنية أو لاستعادة الإصدار السابق أو العودة إليه لتصحيح الأخطاء.
من يستخدم أباتشي آيسبرغ؟
يعد مهندسو البيانات ومسؤولو البيانات ومحللو البيانات وعلماء البيانات من بين الشخصيات التي تستخدم Apache Iceberg. ويمكن لمهندسي البيانات ومسؤولي البيانات استخدام Apache Iceberg في تصميم أنظمة مخزن بيانات قابل للتوسعة وإنشائها. يمكن لمحللي البيانات وعلماء البيانات استخدام Apache Iceberg لتحليل مجموعات البيانات الكبيرة بكفاءة.
ما أسباب اختيار تنسيق Apache Iceberg؟
يوفر Apache Iceberg طريقة سريعة وفعالة لمعالجة مجموعات البيانات الكبيرة على نطاق واسع. إنه يجلب الفوائد التالية:
-
المصدر المفتوح: Apache Iceberg هو مشروع مفتوح المصدر، مما يعني أنه مجاني للاستخدام ويمكن تخصيصه لتلبية احتياجاتك الخاصة. كما أن لديها مجتمعًا نشطًا من المطورين الذين يعملون باستمرار على تحسين وإضافة ميزات جديدة إلى المشروع.
-
قابلية التوسع: تم تصميم Apache Iceberg للتعامل مع مجموعات البيانات الكبيرة بكفاءة. يمكنه تقسيم البيانات وتنظيمها عبر عقد متعددة، مما يساعد على توزيع عبء العمل وتسريع معالجة البيانات.
-
الأداء: يحتوي Apache Iceberg على مجموعة متنوعة من الميزات لتحسين أداء الاستعلام، بما في ذلك التخزين العمودي وتقنيات الضغط مثل دفع المسند لأسفل وتطور المخطط.
-
المرونة: يتيح لك Apache Iceberg تغيير كيفية تنظيم بياناتك بحيث يمكن أن تتطور بمرور الوقت دون الحاجة إلى إعادة كتابة استعلاماتك أو إعادة بناء هياكل البيانات الخاصة بك. كما أنه يدعم العديد من تنسيقات البيانات ومصادر البيانات، مما يجعل من السهل الاندماج مع الأنظمة الحالية.
-
الموثوقية: تضمن Apache Iceberg اتساق البيانات وموثوقيتها من خلال دعمها للمعاملات. يمكنك تتبع كيفية تغير البيانات بمرور الوقت والتراجع إلى الإصدارات التاريخية لمساعدتك في تصحيح المشكلات.
ما خدمات AWS التي تدعم تنسيق Iceberg؟
يدعم أباتشي آيسبيرج أطر معالجة البيانات الشائعة مثل أباتشي سبارك وأباتشي فلينك وأباتشي هايف وبريستو. تتضمن خدمات AWS مثل Amazon Redshift وأمازون أثينا وأمازون EMR وAWS Glue وAmazon Data Firehose دعمًا محليًا لـ أطر بحيرة بيانات المعاملات بما في ذلك Apache Iceberg. يعمل Apache Iceberg جنبًا إلى جنب مع خدمات AWS المدعومة على تمكين بحيرة بيانات المعاملات، والتي تعتمد غالبًا على التخزين في S3 .
-
Amazon Redshift عبارة عن خدمة تحليلات SQL وتخزين البيانات مُدارة بالكامل ومدعومة بالذكاء الاصطناعي لدفع عملية صنع القرار التجاري للعملاء بسرعة وفعالية من حيث التكلفة. توفر Amazon Redshift بنية المعالجة المتوازية الضخمة (MPP) ومتعددة المجموعات وبدون خادم مع إمكانات zero-ETL التي تقود التحليلات في الوقت الفعلي تقريبًا وحالات استخدام الذكاء الاصطناعي/تعلم الآلة مع مشاركة البيانات. يمكن للعملاء استخدام Amazon Redshift للاستعلام عن جداول Apache Iceberg في بحيرة البيانات، والتي يمكن الوصول إليها من خلال كتالوج AWS Glue Data والانضمام إليها مع جداولهم في مستودع البيانات لإجراء تحليلات شاملة.
-
Amazon Athena هي خدمة تحليلات تفاعلية بدون خادم مبنية على أطر مفتوحة المصدر، وتدعم تنسيقات الملفات والجداول المفتوحة. توفر Athena طريقة مبسطة ومرنة لتحليل بيانات بالبيتابايت في مكان وجودها. توفر Athena دعمًا أصليًا لاستعلامات القراءة والسفر عبر الزمن والكتابة وDDL لجداول Apache Iceberg التي تستخدم تنسيق Apache Parquet للبيانات وكتالوج AWS Glue لمتجر التعريف الخاص بها.
-
يعد Amazon EMR حلاً للبيانات الضخمة لمعالجة البيانات على نطاق بيتابايت والتحليلات التفاعلية والتعلم الآلي باستخدام أطر مفتوحة المصدر مثل Apache Spark و Hadoop و Presto و Hive. وبدايةً من الإصدار Amazon EMR 6.5.0، يمكنك استخدام الإصدار Apache Spark 3 في مجموعات Amazon EMR مع تنسيق جدول Iceberg. تدعم أطر EMR بما في ذلك سبارك وترينو وفلينك وهيف أباتشي آيسبرغ.
-
AWS Glue هي خدمة تكامل بيانات بدون خادم تسهل اكتشاف البيانات وإعدادها ونقلها ودمجها من مصادر متعددة للتحليلات والتعلم الآلي (ML) وتطوير التطبيقات. يدعم الإصدار AWS Glue 3.0 والإصدارات الأحدث استخدام إطار عمل تنسيق Apache Iceberg في مخازن البيانات. ويمكنك استخدام خدمة AWS Glue في إجراء عمليتَي القراءة والكتابة بجداول Iceberg في Amazon S3، أو استخدام جداول Iceberg من خلال كتالوج بيانات AWS Glue. يتم أيضًا دعم العمليات الإضافية بما في ذلك الإدراج والتحديث وجميع استعلامات Spark وكتابتها Spark.
-
Amazon Data Firehose هي خدمة مُدارة بالكامل بدون خادم لتقديم البيانات المتدفقة في الوقت الفعلي إلى وجهات مثل خدمة التخزين البسيطة من أمازون (Amazon S3)، وأمازون ريد شيفت، وخدمة أمازون أوبن سيرش، وأمازون OpenSearch، وأمازون OpenSearch بدون خادم، وسبلونك، وسنوفلاك، وجداول أباتشي آيسبيرج، وأي نقطة نهاية HTTP مخصصة أو نقاط نهاية HTTP مملوكة لموفري خدمات الطرف الثالث المدعومين، بما في ذلك داتادوج، وديناتراس، ولوجيك مونيتور، ومونغودب، ونيو ريليك، وكورالوجيإكس، ومرنة. مع Amazon Data Firehose، لن تحتاج إلى كتابة التطبيقات أو إدارة الموارد. ستقوم بتكوين منتجي بياناتك لإرسال البيانات إلى Amazon Data Firehose، وستقوم هي تلقائيًا بتوصيل البيانات إلى الوجهة التي حددتها. يمكنك أيضًا تكوين Amazon Data Firehose لتحويل بياناتك قبل تسليمها.