ما تنسيق Apache Parquet؟

صورة فوتوغرافية تحت عوارض الجسر

المؤلفين

Annie Badman

Staff Writer

IBM Think

Matthew Kosinski

Staff Editor

IBM Think

ما تنسيق Apache Parquet؟

يُعَد Apache Parquet تنسيق تخزين عمودي مفتوح المصدر يُستخدم لتخزين وإدارة وتحليل مجموعات البيانات الكبيرة بكفاءة. على عكس تنسيقات التخزين المستندة إلى الصفوف مثل CSV أو JSON، ينظِّم Parquet البيانات في أعمدة لتحسين أداء الاستعلام وتقليل تكاليف تخزين البيانات.

تستخدم المؤسسات تنسيقات ملفات مختلفة لتلبية احتياجات البيانات الأخرى. وتنظِّم العديد من التنسيقات التقليدية البيانات في صفوف، ما يؤدي إلى تحسين عمليات نقل البيانات البسيطة وسهولة القراءة.

يتبِع Parquet نهجًا مختلفًا تمامًا. فهو يجمع أنواع البيانات المتشابهة في أعمدة. وقد ساعدت هذه البنية العمودية على إحداث تحول في طريقة تعامل المؤسسات مع التحليلات واسعة النطاق، ما يُتيح ضغطًا فائقًا ووصولًا مستهدفًا للبيانات.

على سبيل المثال، عند تحليل معاملات العملاء، تستطيع قاعدة بيانات البيع بالتجزئة التي تستخدم Parquet الوصول إلى أعمدة محددة مثل تواريخ الشراء والمبالغ دون الحاجة إلى تحميل سجلات العملاء بالكامل. وتُسهم هذه القدرة على الوصول إلى أعمدة محددة في تقليل كلٍّ من وقت المعالجة وتكاليف التخزين.

يُعَد تنسيق Parquet مفيدًا في ثلاثة مجالات أساسية:

  • أعباء عمل التحليلات التي تعالج الاستعلامات المعقدة عبر مليارات السجلات.
  • بحيرات ومستودعات البيانات التي تتطلب تخزينًا فعَّالًا واستردادًا سريعًا للبيانات.
  • مسارات التعلم الآلي (ML) التي تحلل سمات محددة عبر مجموعات بيانات تدريبية ضخمة.

من أسباب الانتشار الواسع لتنسيق Parquet توافقه مع الأنظمة الموزعة وأدوات البيانات، مثل Apache Spark وApache Hive وApache Hadoop.

الخصائص الرئيسية لتنسيق Apache Parquet

بالمقارنة مع تنسيقات الملفات الأخرى، يُحدث Parquet تحولًا في تخزين البيانات والوصول إليها من خلال ثلاث قدرات رئيسية:

  • تنسيق التخزين العمودي: بينما تخزِّن التنسيقات التقليدية البيانات على شكل صفوف كما هو الحال في جداول البيانات، يعتمد Parquet على تنسيق تخزين عمودي. فهو يجمع أنواع البيانات المتشابهة معًا في أعمدة، ما يُتيح لتنسيق Parquet قراءة قيم الأعمدة ذات الصلة فقط. يساعد هذا النهج المستهدف على تقليل أوقات الاستعلام من ساعات إلى دقائق، إلى جانب تقليل تكاليف التخزين بشكل كبير.
  • إدارة المخطط والبيانات الوصفية: يحتوي كل ملف Parquet على مخطط ذاتي الوصف، ويُعَد مخططًا تفصيليًا لهيكل بياناته. تساعد هذه البيانات الوصفية على تنفيذ استعلامات أكثر كفاءة، كما تُتيح تطور نماذج البيانات وفقًا لاحتياجات العمل المتغيرة. على سبيل المثال، يمكن لقاعدة بيانات الشركة التي تستخدم Parquet إضافة سمات عميل جديدة دون إعادة إنشاء السجلات الموجودة.
  • الضغط الفعّال: يعمل Parquet على تحسين تخزين البيانات تلقائيًا من خلال تقنيات ضغط متقدمة، ما يقلل حجم الملفات عبر إزالة المعلومات المكررة غير الضرورية وتخزين البيانات بطريقة أكثر كفاءة من حيث المساحة. يساعد هذا النهج الذكي لتخزين البيانات على ضمان كفاءة التخزين المثلى وأداء الحوسبة عبر أنواع مختلفة من أعباء العمل.
تصميم ثلاثي الأبعاد لكرات تتدحرج على مسار

أحدث الأخبار والرؤى حول الذكاء الاصطناعي 


تتوفر معارف وأخبار منسقة بمهارة حول الذكاء الاصطناعي والسحابة وغيرها في نشرة Think الإخبارية الأسبوعية. 

آلية عمل Apache Parquet

يعمل Apache Parquet على تحويل البيانات غير المنسقة بشكل منهجي إلى تنسيق عمودي محسَّن، ما يعزز كفاءة التخزين وأداء الاستعلامات بشكل ملحوظ.

فيما يلي كيفية معالجة Parquet للبيانات:

1. تنظيم البيانات

عند كتابة البيانات إلى ملف Parquet، يقسِّم التنسيق البيانات إلى مجموعات صفوف أولًا. تمثِّل كل مجموعة صفوف وحدة مستقلة داخل مجموعة البيانات، ما يُتيح المعالجة المتوازية وإدارة الذاكرة بكفاءة في العمليات واسعة النطاق. تشكِّل استراتيجية التقسيم هذه الأساس للوصول إلى بيانات Parquet عالية الأداء.

2. تقسيم الأعمدة

داخل كل مجموعة صفوف، تعيد خوارزمية تجميع Parquet تنظيم البيانات حسب العمود بدلًا من الصف. يتم تجميع أنواع البيانات المتشابهة في أجزاء أعمدة، ما يُتيح الترميز المتخصص بناءً على خصائص البيانات. على سبيل المثال، يمكن تحسين عمود التواريخ بشكل مختلف عن عمود القيم الرقمية.

3. الضغط والترميز

يطبِّق Parquet عملية تحسين على مرحلتين. أولًا، يستخدم تقنيات ترميز مثل ترميز الطول المتكرر (RLE) لتمثيل القيم المتكررة بكفاءة، ما يكون مفيدًا بشكل خاص للأعمدة التي تحتوي على العديد من القيم المكررة. وبعد ذلك، يطبِّق خوارزميات الضغط مثل Snappy أو Gzip لتقليل متطلبات التخزين بشكل أكبر.

 4. إنشاء البيانات الوصفية

ينشئ التنسيق بيانات وصفية شاملة، بما في ذلك مخطط الملفات وأنواع البيانات والإحصائيات لكل عمود ومواقع مجموعة الصفوف والبنية. تساعد هذه البيانات الوصفية على تمكين التخطيط الفعَّال للاستعلام وتحسينه.

5. تنفيذ الاستعلام

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

فوائد Apache Parquet

يقدِّم Apache Parquet مزايا كبيرة للمؤسسات التي تدير عمليات بيانات واسعة النطاق.

ومن مزايه ما يلي:

أداء الاستعلام

يمكن لبنية بيانات Parquet تسريع تنفيذ الاستعلامات التحليلية بشكل ملحوظ. عندما تحتاج التطبيقات إلى بيانات محددة، فإنها تصل إلى الأعمدة ذات الصلة فقط، ما يقلل من أوقات الاستعلام من ساعات إلى دقائق. يُسهم هذا الوصول الانتقائي في جعل تنسيق Parquet خيارًا مثاليًا للمؤسسات التي تدير تحليلات معقدة على نطاق واسع.

التعامل مع البيانات المعقدة

على عكس التنسيقات الأبسط، يستطيع تنسيق Parquet إدارة الهياكل البيانية المتداخلة والمصفوفات بكفاءة، وهي شائعة في التطبيقات الحديثة. تجعل هذه الميزة Parquet مفيدًا للمؤسسات التي تتعامل مع أنواع بيانات معقدة، مثل الهياكل المشابهة لتنسيق JSON في تحليلات الويب أو المصفوفات المتداخلة في بيانات المستشعرات من أجهزة إنترنت الأشياء.

كفاءة التخزين

يُحدث تنسيق Parquet العمودي تغييرًا جوهريًا في طريقة تخزين البيانات وضغطها. ومن خلال تجميع أنواع البيانات المتشابهة معًا، يستطيع تنسيق Parquet تطبيق خوارزميات ترميز مختلفة لكل نوع من البيانات، ما يحقِّق نسب ضغط أفضل مقارنةً بتنسيقات مثل CSV أو JSON.

على سبيل المثال، قد يحتاجُ مجموع بيانات يحتوي على ملايين المعاملات إلى تيرابايتات من التخزين عند استخدام تنسيق CSV، بينما يشغل مساحة أقل بكثير عند تخزينه كملفات Parquet.

تكامل إطار العمل

تتطلب هياكل البيانات الحديثة تكاملاً سلسًا بين الأدوات، وهو ما يتيحه Parquet بفضل دعمه الأصلي لأهم أطر العمل. سواء استخدمت الفِرَق Python مع pandas للتحليل، أو Java لتطوير التطبيقات، أو Apache Spark لمعالجة البيانات، فإن Parquet يساعد على ضمان وصول متسق إلى البيانات عبر المؤسسة.

تحسين منظومة Hadoop

يُتيح التكامل الأصلي لتنسيق Parquet مع Hadoop كفاءة عالية في معالجة البيانات الكبيرة. نظرًا لأن Parquet صُمم من أجل نظام الملفات الموزع Hadoop (اختصارًا HDFS)، فإنه يقدِّم أداءً أفضل من التنسيقات التقليدية في بيئات Hadoop. عند استخدام Parquet مع Hadoop، تستطيع المؤسسات تشغيل الاستعلامات بشكل أسرع وتخزين بياناتها بشكل أكثر كفاءة، وغالبًا ما يكون ذلك باستخدام جزء بسيط من التخزين الذي كانت تحتاجه من قبل.

IBM Storage FlashSystem

نظام الذاكرة الوميضية لـ IBM Storage: تحسين VMware من حيث التكلفة والبساطة والمرونة

اكتشف كيف يحسن نظام IBM FlashSystem بيئات VMware لتحقيق الكفاءة من حيث التكلفة والبساطة والمرونة. تسلط هذه الجلسة الضوء على كيفية تعزيز نظام FlashSystem سلامة البيانات وسهولة الوصول إليها وتحسين الأداء، ما يجعله حلاً مثاليًا للبنى التحتية الحديثة لتكنولوجيا المعلومات.

حالات استخدام Parquet الشائعة

يلبي Apache Parquet مجموعة من احتياجات هندسة البيانات عبر الصناعات والتطبيقات.

تتضمن بعض تطبيقاته الأكثر تأثيرًا ما يلي:

بحيرات البيانات ومستودعات البيانات

غالبًا ما تختار المؤسسات التي تبني بحيرات البيانات ومستودعات البيانات تنسيق Parquet كخيار أساسي للتخزين. بفضل كفاءته في الضغط وأدائه العالي في الاستعلامات، يُعَد Parquet مثاليًا لتخزين كميات هائلة من البيانات مع الحفاظ على سرعة الوصول إلى أدوات ذكاء الأعمال واستعلامات SQL.

على سبيل المثال، يمكن لسلسلة متاجر تجزئة تستخدم Parquet لتخزين بيانات المعاملات تحليل أنماط المبيعات عبر آلاف الفروع مع استهلاك مساحة تخزين أقل مقارنةً بالتنسيقات التقليدية.

أعباء عمل التحليلات

يستفيد علماء البيانات والمحللون الذين يعملون مع أطر مثل Apache Spark أو مكتبة pandas في Python من أداء Parquet المحسَّن لاستعلامات التحليلات. وفي حين أن تنسيقات مثل Avro تتفوق في معالجة البيانات على مستوى السجل، يجد الكثيرون أن تنسيق Parquet فعَّال بشكل خاص في تحليلات البيانات المعقدة.

على سبيل المثال، قد تستخدم شركة خدمات مالية تنسيق Parquet لتخزين بيانات السوق، ما يمكِّن المحللين من معالجة ملايين عمليات التداول وحساب مؤشرات المخاطر في الوقت شبه الفعلي.

مسارات استخراج البيانات وتحويلها وتحميلها (ETL)

غالبًا ما تستخدم مسارات البيانات الحديثة تنسيق Parquet كتنسيق وسيط أو نهائي أثناء عمليات استخراج البيانات وتحويلها وتحميلها (ETL). وتوافقه مع الأطر الشائعة مثل Apache Spark ودعمه لـتطور المخططات يجعله ذا قيمة في عمليات سير عمل هندسة البيانات التي تحتاج إلى التعامل مع هياكل بيانات متغيرة.

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

مقارنة بين Apache Parquet وتنسيقات الملفات الأخرى

فيما يلي كيفية مقارنة تنسيق الملفات Parquet بتنسيقات التخزين الشائعة الأخرى:

المقارنة بين Parquet وCSV وJSON

تخزِّن التنسيقات التقليدية مثل CSV وJSON البيانات على شكل صفوف، ما يجعلها مناسبة لنقل البيانات البسيط وسهولة القراءة. ومع ذلك، عند التعامل مع تحليلات البيانات على نطاق واسع، يوفِّر قراءة ملفات Parquet مزايا كبيرة.

بينما يتعين على CSV فحص الصفوف بالكامل حتى عند الاستعلام عن أعمدة معينة، يُتيح التخزين العمودي في Parquet الوصول المباشر إلى العناصر المطلوبة. على سبيل المثال، عند تحليل عمود واحد في مجموعة بيانات بحجم بيتابايت، قد يتطلب CSV قراءة الملف بالكامل، بينما يُتيح Parquet الوصول فقط إلى الأجزاء المتعلقة بهذا العمود.

المقارنة بين Parquet وAvro

يُستخدم كل من Avro وParquet في حالات مختلفة ضمن منظومة البيانات. نظرًا لاعتماده على تخزين البيانات في صفوف، يتفوق Avro في عمليات التسلسل والبث، ما يجعله خيارًا مناسبًا لتسجيل الأحداث أو العمليات الفردية.

وعلى العكس من ذلك، يُحسِّن تنسيق ملفات Parquet أداء التحليلات حيث تحتاج المؤسسات إلى تحليل أعمدة محددة عبر ملايين السجلات.

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

دعم منظومة من الأدوات وأطر العمل

تكمن قوة Apache Parquet في مواصفاته كتنسيق بيانات، وكذلك في منظومته القوية من الأدوات وأطر العمل الداعمة.

تشمل بعض أهم التقنيات في منظومة Parquet ما يلي:

أطر عمل معالجة البيانات

يتكامل Parquet بسلاسة مع أطر عمل معالجة البيانات الرئيسية. يوفِّر Apache Spark قدرات تحليلية عالية الأداء، بينما يُتيح Hadoop المعالجة الموزعة عبر مجموعات حوسبية ضخمة.

يمكن أن يعزز Apache Arrow هذه المنظومة بشكل أكبر من خلال تمكين مشاركة البيانات بسرعة وكفاءة بين الأنظمة والوصول المباشر إلى البيانات، ما يُسهم في تسريع الأداء عند استخدام أطر عمل مثل Spark وHadoop.

يمكن للمؤسسات دمج أطر العمل هذه مع Parquet لإنشاء خطوط بيانات فعَّالة تمتد من الجيجابايت إلى البيتابايت.

لغات البرمجة والواجهات

يمكن لمهندسي البيانات التعامل مع Parquet من خلال واجهات برمجية متعددة. يستخدم مطورو Python عادةً مكتبة pandas لمعالجة البيانات، بينما تعتمد تطبيقات Java على مكتبات Parquet الأصلية.

المنصات السحابية

توفر كبرى مزودي الخدمات السحابية، بما في ذلك Amazon Web Services وGoogle Cloud Platform وMicrosoft Azure وIBM Cloud، دعمًا أصليًا لتنسيق Parquet.

يتوافق Parquet أيضًا مع مستودعات البيانات السحابية ومحركات الاستعلام مثل Amazon Athena وGoogle BigQuery وIBM Db2 Warehouse.

حلول ذات صلة
IBM Storage DS8000

يُعدّ IBM Storage DS8000 نظام التخزين الأسرع والأكثر موثوقية وأمانًا لأنظمة IBM zSystems وخوادم IBM Power.

استكشف Storage DS8000
حلول تخزين البيانات للمؤسسات

IBM Storage هي مجموعة من أجهزة تخزين البيانات والتخزين المعرف بالبرامج وبرامج إدارة التخزين.

استكشف حلول تخزين البيانات
خدمات دعم الأجهزة والبرامج  

توفر IBM دعمًا استباقيًا لخوادم الويب والبنية التحتية لمراكز البيانات لتقليل فترة التعطل وتحسين توفر حلول تكنولوجيا المعلومات.

خدمات خوادم الويب
اتخِذ الخطوة التالية

بدءًا من إدارة البيئات السحابية الهجينة إلى ضمان مرونة البيانات، تُمكِّنك حلول التخزين من IBM من استكشاف رؤى قيِّمة من بياناتك مع الحفاظ على حماية قوية ضد التهديدات.

استكشف حلول تخزين البيانات ألقِ نظرة على قدرات المنتج