¿Qué es BSON y exactamente en qué se diferencia de JSON?
Recién estoy comenzando con MongoDB y una de las cosas que he notado es que usa BSON para almacenar datos internamente. Sin embargo, la documentación no es exactamente clara sobre qué es BSON y cómo se usa en MongoDB. ¿Alguien puede explicármelo, por favor?
BSON es la codificación binaria de documentos tipo JSON que utiliza MongoDB al almacenar documentos en colecciones. Agrega soporte para tipos de datos como Fecha y binario que no son compatibles con JSON.
En la práctica, no es necesario saber mucho sobre BSON cuando se trabaja con MongoDB, sólo necesita utilizar los tipos nativos de su idioma y los tipos proporcionados (por ejemplo, ObjectId) de su controlador al construir documentos y se asignarán al tipo BSON apropiado por parte del conductor.
¿ Qué es BSON ?
BSON [bee · sahn], abreviatura de Binary JSON, es una serialización codificada en binario de documentos similares a JSON.
¿ En qué se diferencia de JSON ?
BSON está diseñado para ser eficiente en el espacio, pero en algunos casos no es mucho más eficiente que JSON. En algunos casos, BSON utiliza incluso más espacio que JSON. La razón de esto es otro de los objetivos de diseño de BSON: la transitabilidad. BSON agrega información "extra" a los documentos, como la longitud de las cadenas y los subobjetos. Esto hace que el recorrido sea más rápido.
BSON también está diseñado para codificar y decodificar rápidamente. Por ejemplo, los números enteros se almacenan como enteros de 32 (o 64) bits, por lo que no es necesario analizarlos hacia y desde el texto. Esto utiliza más espacio que JSON para enteros pequeños, pero es mucho más rápido de analizar.
Además de ser compacto, BSON agrega tipos de datos adicionales que no están disponibles en JSON, en particular los tipos de datos BinData y Date .
Fuente: http://bsonspec.org/