Avro Encoding
Avro エンコーディングは Apache Avro が使うバイナリシリアライズ方式であり、Binary と JSON の両エンコーディングをサポートし、スキーマはデータと一緒に送るか事前に登録する。
目的
Hadoop や Spark のエコシステム向けに、コンパクトでスキーマ対応の行指向シリアライズを提供し、RPC と保存の双方に適する。
メカニズム
Binary エンコーディングはスキーマの順序でフィールドを書き込む。int/long は ZigZag 付き Varint、string は長さ接頭辞付き UTF-8、record は再帰的にエンコードされる。スキーマはレコードごとには送られない(事前登録または一度だけ送信)。
ユースケース
- Kafka メッセージのシリアライズ
- Hadoop でのデータ交換
- RPC によるデータ転送