🍋
Menu
.msgpack Data

MessagePack

MessagePackはJSONに似たコンパクトなバイナリシリアライゼーションフォーマットですが、より小さく高速です。JSONと同じデータ型(マップ、配列、文字列、数値、ブーリアン、null)にバイナリ拡張を加えてサポートし、Redis、Fluentd、多くのリアルタイムシステムで使用されています。

MIMEタイプ

application/x-msgpack

種類

バイナリ

圧縮

無劣化

メリット

  • + Smaller and faster than JSON with no schema required
  • + Drop-in JSON replacement — same data model
  • + Implementations in 50+ programming languages

デメリット

  • Not human-readable in binary form
  • No schema validation — same weakness as JSON
  • Less widely adopted than JSON or Protobuf

.MSGPACKを使うタイミング

JSONが遅すぎるまたは大きすぎる場合にMessagePackを使用してください。リアルタイムAPI、キャッシュ、サービス間通信、組み込みシステムに適しています。

技術的詳細

MessagePackは型プレフィックスバイトの後に値を配置してデータをエンコードします。小さな整数は1バイト、文字列は長さプレフィックス付き、マップはキー・バリューペアを使用します。拡張型によりタイムスタンプなどのカスタムデータが可能です。

歴史

古橋貞之は2008年に日本でMessagePackを作成しました。スキーマ不要でJSONのドロップインバイナリ代替としてのシンプルさと、50以上の言語での実装により人気を博しました。

.MSGPACKから変換

.MSGPACKに変換

関連フォーマット

関連用語