Format Atlas

Confronta

Avro o CBOR

Apache Avro codifica record secondo uno schema e supporta la risoluzione degli schemi di scrittura e lettura e i file contenitore. CBOR è un formato binario generico con un modello dati che estende JSON, inclusi byte e tag.

Quale formato scegliere?

Valuta Avro per schemi gestiti, record tipizzati ed evoluzione dello schema nelle pipeline di dati. Valuta CBOR per valori binari generici, tag e payload di protocollo definiti da uno standard IETF.

Adatto per Avro

Scambiare record con schema definito

  • Eventi e flussi che tengono traccia delle versioni dello schema

Adatto per CBOR

Scambiare dati strutturati su dispositivi e reti con risorse limitate · Rappresentare dati in COSE e nei protocolli IoT

  • Rappresentare dati simili a JSON in forma binaria compatta
  • Usare tag standard o definiti dall’applicazione per indicare il significato dei valori

Informazioni di base

VoceAvroCBOR
Estensione.avro.cbor
Tipo MIMEapplication/avroapplication/cbor
Usi comuniScambiare record con schema definitoScambiare dati strutturati su dispositivi e reti con risorse limitate · Rappresentare dati in COSE e nei protocolli IoT
Come aprireUsa uno strumento Avro per controllare schema, campi, tipi e record.Leggilo con una libreria o un decoder CBOR e controlla la notazione diagnostica o una vista simile a JSON. Verifica la rappresentazione dei valori senza equivalente diretto in JSON, come tag e sequenze di byte.
Esportare o convertireVerso JSON o Parquet verifica nomi, tipi, null, tipi logici, numero di record e compatibilità.Nella conversione in JSON, sequenze di byte e valori con tag possono richiedere rappresentazioni specifiche dello strumento. Per firme, hash o chiavi di cache, segui le regole concordate dal protocollo, come la codifica deterministica di RFC 8949.

Scegli in base all'uso

Eventi e flussi che tengono traccia delle versioni dello schema

Scambiare record con schema definito

Avro

Rappresentare dati simili a JSON in forma binaria compatta

Scambiare dati strutturati su dispositivi e reti con risorse limitate · Rappresentare dati in COSE e nei protocolli IoT

CBOR

Usare tag standard o definiti dall’applicazione per indicare il significato dei valori

Scambiare dati strutturati su dispositivi e reti con risorse limitate · Rappresentare dati in COSE e nei protocolli IoT

CBOR

Punto chiave 1

Per decodificare Avro serve lo schema di scrittura; il file contenitore può includerlo. CBOR codifica elementi tipizzati come mappe e tag, ma l'evoluzione dello schema applicativo è separata.

Approfondisci le differenze

Punto chiave 2

Avro definisce record, union, enum e tipi logici tramite schemi. CBOR definisce interi, stringhe di byte, array, mappe e tag senza imporre un sistema di schemi per record.

Approfondisci le differenze

Approfondisci le differenze

Usa Avro quando produttori e consumatori gestiscono schemi compatibili e l'evoluzione dei record. Usa CBOR se un protocollo richiede un modello binario generico compatto, con byte o tag. Verifica distribuzione degli schemi, codifica deterministica e supporto delle implementazioni.

  • I dati Avro si interpretano con lo schema di scrittura, che il contenitore può includere. Gli elementi CBOR portano informazioni binarie sui tipi, ma non forniscono automaticamente un contratto di schema applicativo.
  • La risoluzione degli schemi Avro può conciliare schemi di scrittura e lettura. I tag CBOR aggiungono semantica, ma entrambe le parti devono concordarne significato e trattamento.
  • Le codifiche in byte non sono intercambiabili. Nella conversione verifica union, tipi logici, valori predefiniti e mancanti, tag CBOR, intervalli interi, stringhe di byte, codifica deterministica ed estensioni sconosciute.

Domande frequenti

CBOR può decodificare Avro senza schema?

No. Le codifiche sono diverse e Avro richiede lo schema di scrittura. La conversione deve mappare esplicitamente schema e valori in elementi CBOR.

Scopri di più

Riferimenti e specifiche