BSON (Binary JSON)
BSON (Binary JSON) est le format de sérialisation binaire utilisé par MongoDB. Il étend JSON avec des types de données supplémentaires (Date, Binary, ObjectId) et est conçu pour un parcours et une manipulation efficaces.
Type MIME
application/bson
Type
Binaire
Compression
Sans perte
Avantages
- + Rich type system beyond JSON (dates, ObjectId, binary, Decimal128)
- + Efficient for database storage — length-prefixed for fast scanning
- + Supports in-place updates without rewriting entire documents
Inconvénients
- − Can be larger than JSON for string-heavy documents
- − Not human-readable — requires tooling to inspect
- − Primarily MongoDB-specific — limited use outside that ecosystem
Quand utiliser .BSON
BSON est utilisé automatiquement par MongoDB — pas de choix de format explicite. Pour l'échange de données en dehors de MongoDB, préférez JSON, MessagePack ou Protobuf.
Détails techniques
BSON préfixe les documents et tableaux par leur longueur pour un parcours efficace. Ajoute les types Date, Binary, ObjectId, Decimal128, Regex et Timestamp au-delà de JSON. Le format est peu compact (souvent plus grand que JSON) mais optimisé pour la vitesse d'analyse.
Historique
MongoDB Inc. a développé BSON en 2009 comme format de stockage sur disque et de transfert réseau pour MongoDB. Il a été conçu pour être efficacement traversable (les longueurs sont préfixées pour permettre de sauter des éléments) tout en conservant la flexibilité type JSON.