Format Atlas

Comparer

Avro ou CBOR

Apache Avro encode les enregistrements selon un schéma et prend en charge la résolution des schémas d'écriture et de lecture ainsi que les fichiers conteneurs. CBOR est un format binaire général dont le modèle étend JSON, avec octets et balises.

Quel format choisir ?

Envisagez Avro pour des schémas gérés, enregistrements typés et évolution de schéma dans les pipelines. Envisagez CBOR pour des valeurs binaires générales, balises et charges protocole définies par un standard IETF.

Adapté pour Avro

Échanger des enregistrements avec schéma

  • Événements et flux suivant les versions de schéma

Adapté pour CBOR

Échanger des données structurées sur des appareils et réseaux aux ressources limitées · Représenter des données dans COSE et les protocoles IoT

  • Représenter des données proches de JSON dans un format binaire compact
  • Utiliser des étiquettes standard ou propres à l’application pour préciser le sens des valeurs

Informations générales

ÉlémentAvroCBOR
Extension.avro.cbor
Type MIMEapplication/avroapplication/cbor
Usages courantsÉchanger des enregistrements avec schémaÉchanger des données structurées sur des appareils et réseaux aux ressources limitées · Représenter des données dans COSE et les protocoles IoT
Comment ouvrirUtilisez un outil Avro pour examiner schéma, champs, types et enregistrements.Lisez le fichier avec une bibliothèque ou un décodeur CBOR, puis examinez sa notation diagnostique ou une vue proche de JSON. Vérifiez la représentation des valeurs sans équivalent direct en JSON, comme les étiquettes et chaînes d’octets.
Exporter ou convertirVers JSON ou Parquet, vérifiez noms, types, valeurs nulles, types logiques, nombre de lignes et compatibilité.Lors d’une conversion en JSON, chaînes d’octets et valeurs étiquetées peuvent nécessiter une représentation propre à l’outil. Pour les signatures, hachages ou clés de cache, respectez les règles convenues par le protocole, comme l’encodage déterministe de RFC 8949.

Choisir selon l’usage

Événements et flux suivant les versions de schéma

Échanger des enregistrements avec schéma

Avro

Représenter des données proches de JSON dans un format binaire compact

Échanger des données structurées sur des appareils et réseaux aux ressources limitées · Représenter des données dans COSE et les protocoles IoT

CBOR

Utiliser des étiquettes standard ou propres à l’application pour préciser le sens des valeurs

Échanger des données structurées sur des appareils et réseaux aux ressources limitées · Représenter des données dans COSE et les protocoles IoT

CBOR

Point clé 1

Décoder Avro exige le schéma d'écriture ; son fichier conteneur peut le transporter. CBOR encode des éléments typés comme cartes et balises, mais l'évolution des schémas applicatifs est distincte.

En savoir plus sur les différences

Point clé 2

Avro définit enregistrements, unions, énumérations et types logiques via des schémas. CBOR définit entiers, chaînes d'octets, tableaux, cartes et balises sans imposer de système de schéma d'enregistrement.

En savoir plus sur les différences

En savoir plus sur les différences

Utilisez Avro lorsque producteurs et consommateurs gèrent des schémas compatibles et l'évolution des enregistrements. Utilisez CBOR si un protocole nécessite un modèle binaire général compact avec octets ou balises. Vérifiez distribution des schémas, encodage déterministe et prise en charge des implémentations.

  • Les données Avro s'interprètent avec le schéma d'écriture ; le conteneur peut l'inclure. Les éléments CBOR portent des types binaires, mais n'apportent pas automatiquement de contrat de schéma applicatif.
  • La résolution Avro peut rapprocher schémas d'écriture et de lecture. Les balises CBOR ajoutent du sens à des éléments courants, mais les deux parties doivent convenir de leur signification.
  • Les octets ne sont pas interchangeables. Lors de la conversion, vérifiez unions, types logiques, valeurs par défaut, absences, balises CBOR, plages entières, chaînes d'octets, encodage déterministe et extensions inconnues.

Questions fréquentes

CBOR peut-il décoder Avro sans schéma ?

Non. Les encodages diffèrent et Avro exige son schéma d'écriture. La conversion doit mapper explicitement schéma et valeurs en éléments CBOR.

En savoir plus

Références et spécifications