驚異の圧縮:Rustで10GBのRATP交通データを530KBに圧縮
2025-03-03
この週末プロジェクトは、パリの公共交通機関ネットワークのオープンデータリポジトリを参照することから始まりました。著者は、このオープンデータを使用する外部プロジェクト、特に過去の運行障害を視覚化するRATPステータスウェブサイトを紹介するデータ再利用セクションに気づきました。GitHubリポジトリには、ほぼ1年間、2分ごとにクエリされたJSONファイルが含まれており、合計で10GBを超えています。著者は、これらをさらに圧縮できないかと考えました。この記事では、Rustのインターニングデザインパターンを使用して、2000倍の圧縮率を達成する方法を詳しく説明しています。検討された手法には、インターナー構造の最適化、データスキーマの調整、シリアライゼーションにおけるインターニングの活用が含まれます。結果は?1.1GBのJSONファイルがわずか530KBに圧縮されるという驚くべき削減です。
開発
インターニング