Skip to main content
QUICK REVIEW

[논문 리뷰] Benchmarking JSON BinPack

Juan Cruz Viotti, Mital Kinderkhedia|arXiv (Cornell University)|2022. 11. 23.
Software Engineering Research인용 수 7
한 줄 요약

이 논문은 JSON 스키마 기반 및 스키마 없는 이진 직렬화 포맷인 JSON BinPack의 양산 이전 구현을 벤치마킹하며, 스키마 기반 모드에서는 JSON 대비 중앙값 기준 86.7% 및 평균 기준 78.7%의 크기 감소를 기록하고, 스키마 없는 모드에서는 각각 30.6% 및 30.5%의 감소를 보이며 공간 효율성에서 표준 이진 포맷과 최적 압축 JSON을 모두 능가함을 입증한다.

ABSTRACT

In this paper, we present benchmark results for a pre-production implementation of a novel serialization specification: JSON BinPack. JSON BinPack is a schema-driven and schema-less sequential binary serialization specification based on JSON Schema. It is rich in diverse encodings, and is developed to improve network performance and reduce the operational costs of Internet-based software systems. We present benchmark results for 27 JSON documents and for each plot, we show the schema-driven and schema-less serialization specifications that produce the smallest bit-strings. Through extensive plots and statistical comparisons, we show that JSON BinPack in schema-driven mode is as space-efficient or more space-efficient than every other serialization specification for the 27 documents under consideration. In comparison to JSON, JSON BinPack in schema-driven mode provides a median and average size reductions of 86.7% and 78.7%, respectively. We also show that the schema-less mode of the JSON BinPack binary serialization specification is as space-efficient or more space-efficient than every other schema-less serialization specification for the 27 documents under consideration. In comparison to JSON, JSON BinPack in schema-less mode provides a median and average size reductions of 30.6% and 30.5%, respectively. Unlike other considered schema-driven binary serialization specifications, JSON BinPack in schema-driven mode is space-efficient in comparison to best-case compressed JSON in terms of the median and average with size reductions of 76.1% and 66.8%, respectively. We have made our benchmark results available at jviotti/binary-json-size-benchmark on GitHub.

연구 동기 및 목표

  • 기존의 스키마 기반 및 스키마 없는 포맷과 비교하여 JSON BinPack, 즉 새로운 JSON용 이진 직렬화 포맷의 공간 효율성을 평가하는 것.
  • 다양한 실제 웹 JSON 문서에서 원시 이진 포맷과 압축된 JSON을 모두 능가하는 압축 성능을 JSON BinPack이 달성할 수 있는지 평가하는 것.
  • 스키마 기반 이진 직렬화가 일반 목적의 데이터 압축보다 뛰어날 수 있는지 확인하여, 텍스트 기반 형식 압축에 대한 기존 가정을 도전하는 것.
  • 향후 JSON BinPack의 개발 및 생산 환경 도입을 위한 재현 가능한 벤치마킹을 제공하는 것.

제안 방법

  • 벤치마킹은 스키마 기반 및 스키마 없는 모드에서 모두 작동하는 프리프로덕션 TypeScript 구현을 사용해 27개의 실제 웹 JSON 문서를 평가한다.
  • 각 문서에 대해 스키마 기반 및 스키마 없는 JSON BinPack에서 생성된 가장 짧은 비트 스트링을 선택하고, 13종의 기존 이진 직렬화 포맷 및 압축된 JSON과 비교한다.
  • 크기 감소의 중앙값, 평균, 범위에 대한 통계 분석을 수행하며, 문서 크기 및 콘텐츠 유형에 따라 결과를 분류한다.
  • 최적 압축 JSON과의 공정한 비교를 위해 표준 압축 포맷(gzip, zstd 등)을 사용한다.
  • 스키마 기반 인코딩에는 JSON 스키마를 활용하며, 지원되지 않는 키워드가 있을 경우 스키마 없는 모드로의 후속 처리를 수행한다.
  • 모든 벤치마킹 결과 및 코드는 재현 가능성을 확보하기 위해 GitHub에 공개된다.

실험 결과

연구 질문

  • RQ1스키마 기반 모드에서 JSON BinPack은 다른 스키마 기반 이진 직렬화 포맷에 비해 공간 효율성이 어떻게 뛰어나게 되는가?
  • RQ2스키마 없는 모드에서 JSON BinPack은 다른 스키마 없는 이진 직렬화 포맷에 비해 공간 효율성이 어떻게 뛰어나게 되는가?
  • RQ3스키마 기반 모드에서 JSON BinPack은 최적 압축 JSON을 초월해 크기 감소 성능을 높일 수 있는가?
  • RQ4어떤 종류의 문서나 크기에서 JSON BinPack이 가장 뚜렷한 압축 성능 향상을 보이는가?

주요 결과

  • 스키마 기반 모드에서 JSON BinPack은 JSON 대비 중앙값 기준 86.7%의 크기 감소와 평균 기준 78.7%의 감소를 달성한다.
  • 스키마 없는 모드에서 JSON BinPack은 JSON 대비 중앙값 기준 30.6%의 크기 감소와 평균 기준 30.5%의 감소를 달성한다.
  • 스키마 기반 모드에서 JSON BinPack은 최적 압축 JSON을 능가하며, 중앙값 기준 76.1%와 평균 기준 66.8%의 크기 감소를 기록한다.
  • 스키마 없는 포맷 중에서 JSON BinPack은 27개 전 문서에서 모든 대안보다 동등하거나 뛰어나며, 다만 소형 텍스트 문서 중심에서 최적 압축 JSON이 13건의 경우에서 더 뛰어나게 된다.
  • 평가된 모든 스키마 기반 이진 포맷(예: Protocol Buffers, Cap’n Proto 포함)과 비교해도 JSON BinPack의 스키마 기반 모드가 더 공간 효율적이다.
  • 잘 설계된 스키마 기반 이진 형식이 일반 목적의 압축보다 우수할 수 있음을 확인하며, 이는 기존의 텍스트 기반 형식 압축이 우월하다는 가정을 도전한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.