Avro Compact Encoding
Die Avro-Kompaktkodierung ist Avros binäres Serialisierungsschema mit Typ-Tags und kompakter Wertekodierung, deutlich kleiner als Avro-JSON.
Zweck
Eine effiziente Avro-Serialisierung in Kafka und Hadoop bieten, ohne das Schema pro Datensatz zu übertragen (vorab registriert).
Mechanismus
Ein Datensatz wird feldweise kodiert: int/long nutzen ZigZag plus Varint; ein String ist eine Varint-Länge plus UTF-8; bytes ist eine Varint-Länge plus Rohbytes; eine Union nutzt den Union-Index plus den Wert; Arrays/Maps nutzen Blockzähler plus Elemente.
Anwendungsfälle
- Kafka-Avro-Nachrichten
- Hadoop-Datendateien
- Effizientes RPC