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ément | Avro | CBOR |
|---|---|---|
| Extension | .avro | .cbor |
| Type MIME | application/avro | application/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 ouvrir | Utilisez 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 convertir | Vers 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
AvroRepré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
CBORUtiliser 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
CBORPoint 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érencesPoint 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érencesEn 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.