Format Atlas

Comparar

Avro o CBOR

Apache Avro codifica registros según un esquema y admite resolución de esquemas de escritura y lectura y archivos contenedores. CBOR es un formato binario general con un modelo de datos que amplía JSON, incluidos bytes y etiquetas.

¿Qué formato deberías elegir?

Considera Avro para esquemas gestionados, registros tipados y evolución de esquemas en canalizaciones de datos. Considera CBOR para valores binarios genéricos, etiquetas y cargas de protocolo definidas por un estándar IETF.

Adecuado para Avro

Intercambiar registros con esquema definido

  • Eventos y flujos con versiones de esquema

Adecuado para CBOR

Intercambiar datos estructurados en dispositivos y redes con recursos limitados · Representar datos en COSE y protocolos IoT

  • Representar datos similares a JSON en formato binario compacto
  • Usar etiquetas estándar o propias de una aplicación para indicar el significado

Información básica

CampoAvroCBOR
Extensión.avro.cbor
Tipo MIMEapplication/avroapplication/cbor
Usos habitualesIntercambiar registros con esquema definidoIntercambiar datos estructurados en dispositivos y redes con recursos limitados · Representar datos en COSE y protocolos IoT
Cómo abrirUse una herramienta Avro para examinar esquema, campos, tipos y registros.Léelo con una biblioteca o un decodificador CBOR y consulta su notación de diagnóstico o una vista similar a JSON. Comprueba cómo se muestran los valores sin equivalente directo en JSON, como las etiquetas y las cadenas de bytes.
Exportar o convertirAl convertir a JSON o Parquet, compruebe nombres, tipos, nulos, tipos lógicos, número de registros y compatibilidad.Al convertir a JSON, las cadenas de bytes y los valores con etiquetas pueden necesitar representaciones propias de la herramienta. Para firmas, hashes o claves de caché, sigue las reglas acordadas por el protocolo, como la codificación determinista de RFC 8949.

Elegir según el uso

Eventos y flujos con versiones de esquema

Intercambiar registros con esquema definido

Avro

Representar datos similares a JSON en formato binario compacto

Intercambiar datos estructurados en dispositivos y redes con recursos limitados · Representar datos en COSE y protocolos IoT

CBOR

Usar etiquetas estándar o propias de una aplicación para indicar el significado

Intercambiar datos estructurados en dispositivos y redes con recursos limitados · Representar datos en COSE y protocolos IoT

CBOR

Punto clave 1

Avro requiere el esquema de escritura para decodificar; su archivo contenedor puede incluirlo. CBOR codifica elementos tipados como mapas y etiquetas, pero la evolución de esquemas de la aplicación se define aparte.

Más sobre las diferencias

Punto clave 2

Avro define registros, unions, enumeraciones y tipos lógicos mediante esquemas. CBOR define enteros, bytes, arreglos, mapas y etiquetas sin imponer un sistema de esquemas de registros.

Más sobre las diferencias

Más sobre las diferencias

Usa Avro cuando productores y consumidores administran esquemas compatibles y evolución de registros. Usa CBOR cuando un protocolo necesita un modelo binario compacto y general, con bytes o etiquetas. Comprueba distribución de esquemas, codificación determinista y soporte de implementaciones.

  • Los datos Avro se interpretan con el esquema de escritura; los contenedores pueden incluirlo. Los elementos CBOR contienen información binaria de tipo, pero no proporcionan contratos de esquema de aplicación automáticamente.
  • La resolución de Avro puede conciliar esquemas de escritura y lectura. Las etiquetas CBOR añaden semántica, pero ambas partes deben acordar su significado y tratamiento.
  • Las codificaciones no son intercambiables. Al convertir, verifica unions, tipos lógicos, valores predeterminados, datos ausentes, etiquetas CBOR, rangos enteros, bytes, codificación determinista y extensiones desconocidas.

Preguntas frecuentes

¿CBOR puede decodificar Avro sin esquema?

No. Las codificaciones son distintas y Avro necesita su esquema de escritura. La conversión debe mapear explícitamente el esquema y los valores a elementos CBOR.

Más información

Referencias y especificaciones