Format Atlas

Comparar

BSON vs MessagePack

BSON y MessagePack pueden representar datos binarios tipo documento, pero BSON es una representación tipada asociada a MongoDB y MessagePack es una serialización general de objetos.

¿Qué formato deberías elegir?

Usa BSON para documentos MongoDB y tipos como ObjectId y fechas. Considera MessagePack para intercambiar objetos compactos fuera de MongoDB y acuerda las extensiones y el soporte de los receptores.

Adecuado para BSON

Serializar documentos de MongoDB · Intercambiar documentos entre herramientas compatibles con BSON

  • Conservar tipos como fechas y datos binarios
  • Usar controladores y herramientas que lean y escriban BSON

Adecuado para MessagePack

Serializar datos similares a JSON en binario · Intercambiar datos estructurados entre aplicaciones compatibles

  • Codificar en binario listas, mapas y valores básicos similares a JSON
  • Intercambiar extensiones y marcas de tiempo entre bibliotecas compatibles

Información básica

CampoBSONMessagePack
Extensión.bson.msgpack, .mpk
Tipo MIMEapplication/bsonapplication/octet-stream
Usos habitualesSerializar documentos de MongoDB · Intercambiar documentos entre herramientas compatibles con BSONSerializar datos similares a JSON en binario · Intercambiar datos estructurados entre aplicaciones compatibles
Cómo abrirÁbrelo con mongorestore o con una biblioteca o herramienta compatible con BSON. Para consultar su contenido, conviértelo a Extended JSON u otra representación legible. No edites el archivo binario en un editor de texto.Léelo con una biblioteca o un decodificador compatible con MessagePack. Para inspeccionarlo, usa la notación de diagnóstico o una vista similar a JSON y comprueba cómo se muestran los datos binarios y las extensiones.
Exportar o convertirAl convertir a JSON, las fechas, ObjectId y los valores binarios pueden requerir la notación Extended JSON o una representación propia de la aplicación, porque JSON estándar no tiene tipos equivalentes. Si necesitas convertir en ambos sentidos, usa un método que conserve los tipos y pruébalo con datos reales.Al convertir a JSON, los datos binarios y las extensiones pueden necesitar listas, cadenas o envoltorios propios, ya que JSON estándar no tiene equivalentes directos. Para convertir en ambos sentidos, prueba datos reales, rangos numéricos, marcas de tiempo, claves de mapas y tipos de extensión.

Elegir según el uso

Conservar tipos como fechas y datos binarios

Serializar documentos de MongoDB · Intercambiar documentos entre herramientas compatibles con BSON

BSON

Usar controladores y herramientas que lean y escriban BSON

Serializar documentos de MongoDB · Intercambiar documentos entre herramientas compatibles con BSON

BSON

Codificar en binario listas, mapas y valores básicos similares a JSON

Serializar datos similares a JSON en binario · Intercambiar datos estructurados entre aplicaciones compatibles

MessagePack

Intercambiar extensiones y marcas de tiempo entre bibliotecas compatibles

Serializar datos similares a JSON en binario · Intercambiar datos estructurados entre aplicaciones compatibles

MessagePack

Punto clave 1

BSON define documentos y matrices con prefijo de longitud y tipos explícitos como fechas, ObjectId y Decimal128. MessagePack ofrece mapas, matrices, números, texto, binarios y extensiones definidas por la aplicación.

Más sobre las diferencias

Punto clave 2

BSON encaja con los modelos de documento y herramientas de MongoDB; MessagePack sirve para serialización general sin depender de una base de datos concreta.

Más sobre las diferencias

Más sobre las diferencias

Elige BSON si importan los tipos de documentos compatibles con MongoDB; MessagePack si buscas un protocolo binario independiente de una base de datos. Mapea fechas, enteros, decimales, ObjectId y extensiones y prueba conversiones de ida y vuelta.

  • Ambos usan codificación binaria, pero sus estructuras y sistemas de tipos difieren; uno no se puede leer directamente como el otro.
  • BSON incluye tipos y convenciones propios de documentos. En MessagePack, la aplicación define el significado de los códigos de extensión.
  • La conversión puede cambiar fechas, rangos numéricos, decimales o identificadores. Documenta los mapeos y valida los valores en el receptor.

Preguntas frecuentes

¿Basta con cambiar la extensión BSON a MessagePack?

No. La extensión no convierte la estructura binaria ni sus tipos; se necesita decodificar y serializar con mapeos explícitos.

Más información

Referencias y especificaciones