놀라운 압축: Rust를 사용하여 10GB RATP 교통 데이터를 530KB로 압축
2025-03-03
이번 주말 프로젝트는 파리 공공 교통 네트워크의 공개 데이터 저장소를 탐색하는 것으로 시작되었습니다. 저자는 이 공개 데이터를 사용하는 외부 프로젝트, 특히 과거 운행 장애를 시각화하는 RATP 상태 웹사이트를 소개하는 데이터 재사용 섹션을 발견했습니다. GitHub 저장소에는 거의 1년 동안 2분마다 쿼리된 JSON 파일이 포함되어 있으며, 총 용량은 10GB를 초과합니다. 저자는 이 데이터를 더 효율적으로 압축할 수 있는지 고민했습니다. 이 글에서는 Rust의 인터닝 디자인 패턴을 사용하여 2000배의 압축률을 달성하는 방법을 자세히 설명합니다. 고려된 기법에는 인터너 구조 최적화, 데이터 스키마 조정, 직렬화에서 인터닝 활용이 포함됩니다. 결과는? 1.1GB의 JSON 파일이 고작 530KB로 압축되는 놀라운 감소입니다.
개발
인터닝