Format Atlas

Vergleichen

Avro oder CBOR

Apache Avro codiert Datensätze gemäß Schema und unterstützt die Auflösung von Schreib- und Leseschemata sowie Containerdateien. CBOR ist ein allgemeines Binärformat mit erweitertem JSON-Datenmodell, einschließlich Bytefolgen und Tags.

Welches Format sollten Sie wählen?

Avro eignet sich für verwaltete Schemata, typisierte Datensätze und Schemaentwicklung in Datenpipelines. CBOR eignet sich für allgemeine Binärwerte, Tags und IETF-definierte Protokolldaten.

Geeignet für Avro

Datensätze mit definiertem Schema austauschen

  • Ereignisse und Datenflüsse mit Schemaversionen

Geeignet für CBOR

Strukturierte Daten auf ressourcenbeschränkten Geräten und Netzwerken austauschen · Daten in COSE und IoT-Protokollen darstellen

  • JSON-ähnliche Daten kompakt binär darstellen
  • Standard- oder anwendungsspezifische Tags verwenden, um Werte zu kennzeichnen

Grundlegende Informationen

MerkmalAvroCBOR
Dateiendung.avro.cbor
MIME-Typapplication/avroapplication/cbor
Häufige VerwendungDatensätze mit definiertem Schema austauschenStrukturierte Daten auf ressourcenbeschränkten Geräten und Netzwerken austauschen · Daten in COSE und IoT-Protokollen darstellen
ÖffnenPrüfen Sie Schema, Felder, Typen und Datensätze mit einem Avro-Werkzeug.Lesen Sie die Datei mit einer CBOR-Bibliothek oder einem Decoder und prüfen Sie die Diagnose-Notation oder eine JSON-ähnliche Ansicht. Achten Sie auf Werte ohne direktes JSON-Gegenstück, etwa Tags und Bytefolgen.
Exportieren oder konvertierenBei Umwandlung in JSON oder Parquet prüfen Sie Feldnamen, Typen, Nullwerte, logische Typen, Anzahl und Schema-Kompatibilität.Bei der Umwandlung in JSON benötigen Bytefolgen und getaggte Werte möglicherweise werkzeugspezifische Darstellungen. Beachten Sie bei Signaturen, Hashes oder Cache-Schlüsseln die vereinbarten Protokollregeln, etwa die deterministische Codierung nach RFC 8949.

Nach Einsatzzweck wählen

Ereignisse und Datenflüsse mit Schemaversionen

Datensätze mit definiertem Schema austauschen

Avro

JSON-ähnliche Daten kompakt binär darstellen

Strukturierte Daten auf ressourcenbeschränkten Geräten und Netzwerken austauschen · Daten in COSE und IoT-Protokollen darstellen

CBOR

Standard- oder anwendungsspezifische Tags verwenden, um Werte zu kennzeichnen

Strukturierte Daten auf ressourcenbeschränkten Geräten und Netzwerken austauschen · Daten in COSE und IoT-Protokollen darstellen

CBOR

Wichtiger Punkt 1

Avro-Decodierung benötigt das Schreibschema; die Objektcontainerdatei kann es enthalten. CBOR codiert typisierte Elemente wie Maps und Tags, aber anwendungsspezifische Schemaentwicklung ist separat.

Unterschiede im Detail

Wichtiger Punkt 2

Avro definiert Records, Unions, Enums und logische Typen über Schemata. CBOR definiert Ganzzahlen, Bytefolgen, Arrays, Maps und Tags, ohne ein Record-Schemasystem vorzuschreiben.

Unterschiede im Detail

Unterschiede im Detail

Verwenden Sie Avro, wenn Erzeuger und Verbraucher kompatible Schemata verwalten und Datensatzentwicklung benötigen. Verwenden Sie CBOR für ein allgemeines kompaktes Binärmodell mit Bytefolgen oder Tags. Prüfen Sie Schema-Verteilung, deterministische Codierung und Implementierungsunterstützung.

  • Avro-Daten werden mit dem Schreibschema interpretiert; Containerdateien können es enthalten. CBOR-Elemente tragen binäre Typinformationen, aber keinen automatischen Anwendungsschema-Vertrag.
  • Avros Schemaauflösung kann Schreib- und Leseschemata abgleichen. CBOR-Tags ergänzen Semantik, doch beide Seiten müssen Bedeutung und Behandlung vereinbaren.
  • Die Bytecodierungen sind nicht austauschbar. Prüfen Sie bei Konvertierung Unions, logische Typen, Standardwerte, fehlende Werte, CBOR-Tags, Ganzzahlbereiche, Bytefolgen, deterministische Codierung und unbekannte Erweiterungen.

Häufige Fragen

Kann CBOR Avro ohne Schema decodieren?

Nein. Die Codierungen unterscheiden sich und Avro benötigt sein Schreibschema. Eine Konvertierung muss Schema und Werte explizit auf CBOR-Elemente abbilden.

Mehr erfahren

Quellen und Spezifikationen