# Apache Arrow
Apache Arrow は Apache Software Foundation のプロジェクトで、言語横断のカラム型(columnar)インメモリデータフォーマット標準を定義する。C++・Java・Python・Rust 等の多言語バインディングを持ち、ゼロコピーの相互運用を実現する。高密度なカラム型パッキングによりキャッシュ効率とベクトル演算親和性に優れ、分析ワークロードで高い性能を発揮する。(Source: [[@2026__OTelBlog__OTel-Arrow-Phase-2]])
[[OTel-Arrow]] は Apache Arrow のカラム型フォーマットをテレメトリデータのワイヤ転送([[OTAP]])およびパイプライン処理全体の内部表現として採用する。行指向の Protobuf エンコーディング(OTLP)と比較して、単一コアで **20× のスループット**(2.47M 対 121K logs/sec)を達成した。また変換処理時の CPU 使用率も約 1/14 に低減(6.4〜6.6% 対 92.5%)。(Source: [[@2026__OTelBlog__OTel-Arrow-Phase-2]])
Arrow の効率性の源泉:
- **カラム型パッキング**: 同一フィールドのデータが連続メモリ領域に格納されるため、属性リネーム等の変換処理でオブジェクトグラフ全体をウォークする必要がない
- **バッチ処理の効率化**: バッチサイズが大きいほど圧縮効率が向上する(400K logs/sec 処理時、バッチ 256 → CPU 21%、バッチ 4096 → CPU 7.8%)
- **ガベージコレクション回避**: ヒープ割り当てオブジェクトグラフが不要になり、メモリアロケーション・GC コストが削減される
## 関連
- 概念: [[OTel-Arrow]] / [[OTAP]]
- プロダクト: [[OpenTelemetry]]
- ソース: [[@2026__OTelBlog__OTel-Arrow-Phase-2]]