読み方 : アパッチアブロ

Apache Avro

概要

Apache Avroとは、データバイナリ形式に変換して保存・転送するためのシリアライゼーション形式およびライブラリ。「スキーマ」と呼ばれる構造定義に基づいてデータを変換し、サイズを小さく抑えながら高速な読み書きを実現する。ビッグデータ処理基盤やシステム間のデータ交換に利用されている。
Apache Avroのイメージ画像

データの構造はJSON形式で記述したスキーマで定義する。実際のデータにはフィールド名を含めず値だけを記録するため、テキスト形式JSONと比べてデータサイズを大幅に削減できる。スキーマデータとは別に管理され、読み取り時に参照して元の構造を復元する。

対応するデータ型として整数や浮動小数点数、文字列、真偽値配列レコードなどがある。複数の型を許容するユニオン型も備えており、null型と組み合わせることで省略可能な項目も定義できる。

スキーマバージョン管理に柔軟に対応することができ、送受信の双方でスキーマバージョンが異なる場合でも、フィールドの追加や削除といった変更であれば、デフォルト値で補完するなどして互換性を保ちながらデータを扱える。長期間運用されるシステムや、複数のサービス間でデータをやり取りする環境での利用に適している。

データ分析基盤では、分散処理システムやメッセージングシステムと組み合わせて使われることが多い。例えば、ストリーミングデータの分散処理基盤である「Apache Kafka」に取り込むデータ形式としてApache Avroを用いる構成は広く利用されており、その場合は「Confluent Schema Registry」などを用いてスキーマを一元管理することが多い。

Apache Avroはアパッチソフトウェア財団(ASF:Apache Software Foundation)が公開するオープンソースソフトウェアで、「Apache Hadoop」のサブプロジェクトとして開発が始まった。JavaPython、C++言語、C#など様々な言語向けの実装が公式に提供されており、異なる言語で開発されたシステム間でも同じデータを共通の形式でやり取りできる。

(2026.7.7更新)
 
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。