OpenZL : Un nouveau cadre open source pour une compression intelligente et universelle
OpenZL, un cadre open source pour la compression intelligente des données structurées, vient d’être lancé publiquement. Conçu pour offrir une compression sans perte de haut niveau, il rivalise avec les compresseurs spécialisés tout en restant universel : une seule décompresseur peut traiter tous les fichiers OpenZL, quelle que soit leur structure. L’approche repose sur une séquence configurable de transformations appliquées à l’entrée, qui révèlent des motifs cachés dans les données. Grâce à une description explicite de la structure (via un prédéfini ou une description légère en SDDL), le système génère un plan de compression optimisé, intégré directement dans chaque trame compressée. Le décompresseur universel exécute ce plan sans besoin d’information externe. Ce projet s’inscrit dans une réflexion de longue haleine sur l’évolution de la compression. Après le succès de Zstandard, qui a révolutionné la compression dans les datacenters grâce à un bon équilibre entre ratio et vitesse, les gains issus des améliorations itératives sont de plus en plus limités. OpenZL répond à une problématique clé : les données structurées (colonnes, enums, champs répétitifs, formats définis) contiennent des régularités que les compresseurs génériques ignorent. Une compression sur mesure peut alors surpasser les outils classiques, mais au prix d’une fragmentation : chaque format nécessite son propre compresseur et décompresseur. OpenZL résout ce dilemme en combinant performance spécifique et simplicité d’exploitation. Dans un exemple sur le fichier sao du Silesia Compression Corpus, OpenZL atteint un ratio de compression de 2,06x, contre 1,64x pour xz et 1,31x pour zstd, tout en compressant à 340 MB/s (vs 220 MB/s pour zstd) et en décompressant à 1,2 Go/s (vs 850 MB/s pour zstd). Ce gain s’explique par la déconstruction du format en « structure de tableaux » (array of structs → struct of arrays), puis l’application de stratégies de compression adaptées à chaque champ homogène. Le processus repose sur trois étapes : la description (via SDDL ou un parser personnalisé), l’entraînement (un outil hors ligne qui explore des plans optimisés en fonction des contraintes), puis la compression (où le plan est résolu en une recette embarquée). Le décompresseur universel exécute cette recette sans complexité supplémentaire. Une innovation majeure est la possibilité d’ajouter des points de contrôle dynamiques, qui ajustent le chemin de compression en temps réel selon des statistiques légères (fréquence de répétition, variance, etc.), permettant une adaptation aux variations de données sans sacrifier la vitesse. Les avantages opérationnels sont considérables : un seul binaire audité, des mises à jour globales de performance ou de sécurité, une uniformité des outils et des métriques. Même les anciens fichiers restent compatibles. Ce modèle permet d’offrir une compression hautement spécialisée sans fragmenter l’écosystème. Les résultats montrent des gains significatifs sur des données structurées (tableaux numériques, Parquet, CSV), mais OpenZL ne surpasse pas zstd sur des textes purs comme enwik ou dickens, où il bascule automatiquement vers zstd. L’outil est particulièrement adapté aux séries temporelles, tenseurs d’IA, tables de bases de données et formats comme Parquet ou CSV. OpenZL est en développement actif : amélioration des transformateurs pour les données temporelles et spatiales, optimisation des performances, extension de SDDL, et renforcement de l’exploration automatique des plans. La communauté est invitée à contribuer : tester des formats, proposer des plans, améliorer les parsers, optimiser le code C/C++, ou enrichir les benchmarks. Le projet est disponible sur GitHub, avec documentation, exemples et scripts reproductibles. OpenZL marque une avancée fondamentale dans la compression : il déplace le focus du « compresseur » vers une « architecture de compression adaptative », ouverte, évolutives et universelle. Son potentiel est immense, surtout dans les environnements de données à grande échelle où performance, sécurité et maintenance sont critiques.