ضغط لا يصدق: تقليص بيانات النقل العام في باريس (RATP) من 10 جيجابايت إلى 530 كيلوبايت باستخدام Rust

2025-03-03

بدأ هذا المشروع في عطلة نهاية الأسبوع باستعراض مستودع البيانات المفتوحة لشبكة النقل العام في باريس. لاحظ الكاتب قسمًا حول إعادة استخدام البيانات، والذي يضم مشاريع خارجية تستخدم هذه البيانات المفتوحة، ولا سيما موقع حالة RATP الذي يعرض الأعطال التاريخية. يحتوي مستودع GitHub على ملفات JSON تم استعراضها كل دقيقتين لمدة عام تقريبًا، ليصل إجمالي حجمها إلى أكثر من 10 جيجابايت. تساءل الكاتب عما إذا كان من الممكن ضغط هذه البيانات بشكل أفضل. تشرح هذه المقالة كيف استخدم نمط تصميم الاستيعاب في Rust لتحقيق ضغط 2000 ضعف! تشمل التقنيات التي تم استكشافها تحسين بنية الاستيعاب، وضبط مخطط البيانات، والاستفادة من الاستيعاب في التهيئة التسلسلية. والنتيجة؟ انخفاض مذهل من 1.1 جيجابايت من ملفات JSON إلى 530 كيلوبايت فقط.

التطوير الاستيعاب