مقدمة لـ OpenZL: إطار عمل مفتوح المصدر للضغط المعتمد على هيكل البيانات
أعلنت شركة ميتا عن إطلاق منصة "OpenZL"، إطار مفتوح المصدر لضغط البيانات دون فقدان، مصمم خصيصًا لبيانات منظمة مثل الجداول، التدفقات الزمنية، وملفات Parquet وCSV. يتميز OpenZL بقدرات ضغط تفوق المُضغّطات العامة من حيث النسبة، مع الحفاظ على سرعة عالية في الضغط والفك، بفضل نهج يعتمد على فهم هيكل البيانات بدلاً من التعامل معها كمجموعة عشوائية من البايتات. في المقابل، تُظهر المُضغّطات التقليدية مثل Zstandard وXZ نتائج مقبولة لكنها تُفقد فرصًا كبيرة في الكفاءة عند التعامل مع بيانات منظمة. فمثلاً، عند ضغط ملف "sao" من مجموعة Silesia، حقق OpenZL نسبة ضغط تفوق Zstandard بنسبة 57% وXZ بنسبة 12%، مع سرعة ضغط تصل إلى 340 ميغابايت/ثانية مقابل 220 ميغابايت فقط لـ Zstandard، وسرعة فك تصل إلى 1.2 جيجابايت/ثانية مقارنة بـ 850 ميغابايت لـ Zstandard. يُعدّ هذا الأداء ممكنًا بفضل مبدأ أساسي: تحويل البيانات من هيكل "مصفوفة كائنات" إلى "مصفوفة كمصفوفات" (أي فصل كل حقل إلى تدفق منفصل)، مما يسمح بتطبيق تقنيات ضغط مخصصة لكل تدفق بشكل فعال. ثم يُستخدم مُدرّب خارجي (offline trainer) لتحليل البيانات وبناء "خطة ضغط" مثلى، تُحوّل عند التشفير إلى "وصفة تنفيذية" مدمجة في كل إطار، ويُمكن فكها باستخدام نفس المُفكّك العام دون الحاجة إلى أداة مختلفة. النقطة الأهم في OpenZL هي توحيد المُفكّك، ما يُقلل التعقيد التشغيلي: لا حاجة لترقية أو مراجعة أكواد متعددة، ولا توجد مشكلات في التوافق مع البيانات القديمة. كل تحسين في الخطة يُطبّق تلقائيًا، مع الحفاظ على التوافق العكسي. كما يدعم النظام التكيّف أثناء التشغيل عبر "نقاط تحكم" تُقيّم خصائص البيانات في الوقت الحقيقي (مثل تكرار النصوص أو التباين) وتحدد أفضل مسار ضغط، دون تجاوز الحدود الزمنية. يُمكن للمستخدمين تعريف هيكل البيانات عبر لغة بسيطة تسمى SDDL، أو عبر كتابة مُحلّل مخصص. بعد ذلك، يُدرّب النظام على توليد أفضل خطة ضمن ميزانية زمنية، ويُمكن تطبيقها فورًا. هذه العملية تُمكّن من تحسين الأداء باستمرار، حتى مع تغيرات البيانات، كما يحدث في بيئات البيانات الحية. يُظهر التقييم على بيانات متعددة — مثل بيانات ERA5، ملفات Parquet، وملفات CSV — أن OpenZL يتفوق بشكل ملحوظ في النسبة، خاصة عند تطبيقه على بيانات منظمة. أما في الملفات النصية غير المنظمة (مثل enwik أو dickens)، فيعود إلى استخدام Zstandard كخيار احتياطي، دون فقدان الأداء. يُعدّ OpenZL مثاليًا لبيانات مثل سلاسل زمنية، مصفوفات الذكاء الاصطناعي، وقواعد بيانات جدولية. وتم إطلاقه كمشروع مفتوح المصدر، مع دعم لمساهمات المجتمع في تطوير الترميز، تحسين الأداء، أو إضافة دعم لتنسيقات جديدة. الخطوة القادمة تشمل توسيع المكتبة التحويلية لدعم البيانات الزمنية والشبكات، وتحسين كفاءة المُدرّب، وتمكين SDDL من التعامل مع الهياكل المدمجة بشكل أكثر مرونة. كما يُشجع المجتمع على تجربة OpenZL على بياناتهم، وتقديم مقترحات أو مساهمات فنية. بفضل نموذجه المبتكر، يُعتبر OpenZL خطوة كبيرة نحو ضغط ذكي وقابل للتوسع، يوازن بين الكفاءة والبساطة التشغيلية، ويُفتح آفاقًا جديدة في مجال ضغط البيانات.