概要
- F3 は効率性・相互運用性・拡張性を重視した次世代データファイルフォーマット
- Parquet 等の従来形式の課題を解決しつつ、Wasmデコーダで将来性を確保
- 研究プロトタイプ として公開、本番環境での利用は非推奨
- ビルドや実験手順は Debian 12 環境で検証済み
- MITライセンス で公開、論文引用情報も提供
F3: 次世代データファイルフォーマットの概要
- F3 は効率的なデータ管理・高度な相互運用性・将来の拡張性を設計思想とするファイルフォーマット
- Parquet など既存フォーマットのレイアウト上の課題を解消
- Wasm(WebAssembly)デコーダ をファイル内に埋め込み、将来の互換性と拡張性を実現
- 自己記述型 ファイル構造により、データ・メタデータ・デコーダバイナリを一体管理
- プラットフォーム非依存でデコード可能、ネイティブデコーダがなくても動作保証
- 新しいエンコーディング方式 の追加が容易な汎用APIを提供
利用上の注意
- 本プロジェクトは 論文発表用の研究プロトタイプ
- 本番環境での利用は推奨されていない
- 実装・ビルドは Intel + Debian 12 マシンでのみ検証済み
ビルドと実行手順
- リポジトリ初期化
git submodule update --init --recursive
- 依存パッケージセットアップ
./scripts/setup_debian.sh
- PoCパッケージのビルド
cargo build -p fff-poc
- ユニットテスト実行
cargo test -p fff-poc
重要ディレクトリ構成
- format: FlatBufferによるファイルフォーマット定義
- fff-poc: F3フォーマットのメインコード
- fff-core, fff-encoding, fff-format, fff-ude-wasm などサブディレクトリを参照
- fff-bench: 論文掲載のベンチマーク・実験コード
- fff-bench/examples: マイクロ・E2E実験コード収録
- fff-ude *: UDE(User-Defined-Encoding)、Wasmデコーダ実装関連
- scripts, exp_scripts: 実験実行用スクリプト群
実験結果再現方法
- 詳細手順は doc/paper_reproduction.md を参照
ライセンス
- MITライセンス で公開
- 詳細は LICENSE ファイルを参照
論文引用情報
- 論文タイトル: F3: The Open-Source Data File Format for the Future
- 著者: Zeng, Xinyu 他
- 掲載誌: Proc. ACM Manag. Data
- 発行年: 2025年9月
- DOI: 10.1145/3749163
- キーワード: カラムナストレージ、圧縮、拡張性、ファイルフォーマット
F3の特徴と意義
- カラムナストレージ 形式による現代的なデータ分析システム基盤
- オープンソース ファイルフォーマットの普及で異なるプラットフォーム間のデータ共有を促進
- 従来形式 (Parquet, ORC等)は時代遅れの設計や制約が残存
- 部分的な仕様更新も、全てのシステムでサポートされず
- 抜本的な改善には新フォーマットの設計が必要
- F3 は「新たなデータ処理・計算環境の変化ごとに新フォーマットを作る必要性」を解消
- 自己記述型ファイル + Wasmデコーダ埋込 で最大限の互換性と拡張性
- ストレージレイアウトの有効性 ・ Wasm駆動デコードの利点 を実証
参考情報
- 本プロジェクトが有用な場合、上記論文を 引用 することを推奨