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型として正確に格納されています。
この用語をシェア
最終更新: