読み方 : アパッチアブロ
Apache Avro
概要

データの構造はJSON形式で記述したスキーマで定義する。実際のデータにはフィールド名を含めず値だけを記録するため、テキスト形式のJSONと比べてデータサイズを大幅に削減できる。スキーマはデータとは別に管理され、読み取り時に参照して元の構造を復元する。
対応するデータ型として整数や浮動小数点数、文字列、真偽値、配列、レコードなどがある。複数の型を許容するユニオン型も備えており、null型と組み合わせることで省略可能な項目も定義できる。
スキーマのバージョン管理に柔軟に対応することができ、送受信の双方でスキーマのバージョンが異なる場合でも、フィールドの追加や削除といった変更であれば、デフォルト値で補完するなどして互換性を保ちながらデータを扱える。長期間運用されるシステムや、複数のサービス間でデータをやり取りする環境での利用に適している。
データ分析基盤では、分散処理システムやメッセージングシステムと組み合わせて使われることが多い。例えば、ストリーミングデータの分散処理基盤である「Apache Kafka」に取り込むデータ形式としてApache Avroを用いる構成は広く利用されており、その場合は「Confluent Schema Registry」などを用いてスキーマを一元管理することが多い。
Apache Avroはアパッチソフトウェア財団(ASF:Apache Software Foundation)が公開するオープンソースソフトウェアで、「Apache Hadoop」のサブプロジェクトとして開発が始まった。JavaやPython、C++言語、C#など様々な言語向けの実装が公式に提供されており、異なる言語で開発されたシステム間でも同じデータを共通の形式でやり取りできる。
(2026.7.7更新)