本文へスキップ

BSONとは?

びーそん

MongoDB採用するバイナリ形式のJSONスーパーセットで、日付型やバイナリデータなどJSONにない型を含む軽量なデータシリアライズフォーマットです。

BSON(Binary JSONは、JSONのデータ構造をバイナリでエンコードしたシリアライズフォーマットで、MongoDBがドキュメントの保存・転送に採用していることで広く知られています。2009年にMongoDBの開発チーム(10gen、現MongoDB Inc.)によって設計されました。

BSONはJSONと互換性を保ちながら、以下の点でJSONを拡張しています。

  • 追加のデータ型:Date(日時)・ObjectId・Binary(バイナリデータ)・Decimal128・Regular Expression・Timestampなど
  • バイナリ形式:テキストのJSONより小さい場合が多く、パースが高速
  • 長さプレフィックス:各要素の先頭にサイズを格納するため、特定フィールドへの高速アクセスが可能

MongoDBのドキュメント型データモデルはBSONで表現され、コレクション内のドキュメントをそのままBSON形式でディスクに保存します。ドライバー(各言語のMongoDB接続ライブラリ)がアプリケーションのオブジェクトとBSONを相互変換するため、開発者は通常BSONを意識せずにJSONと同じ感覚でデータを操作できます。

BSONはJSONより機能が豊富である一方、人間が直接読めないこと、JSONより若干バイト数が多くなる場合があることが注意点です。MongoDBのほかにも、一部のRPCフレームワークやデータ転送用途に採用されています。

使い方・例文

MongoDBにドキュメントを挿入するとき、アプリケーション側はJSONライクなオブジェクトを渡しますが、実際にデータベースに保存されるのはBSON形式で、日時フィールドはDate型として正確に格納されています。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語