FORMAT COMPARISON
HDF5 vs Zarr
HDF5はグループやデータセットを単一のコンテナ内に階層化する汎用形式です。Zarrはチャンク化した多次元配列とメタデータをストア内の別々のキーとして表現し、ファイルシステムやオブジェクトストレージでの利用を想定します。
HDF5とZarr、どちらを選ぶ?
既存のHDF5ファイル、階層内の複合データ、HDF5対応ソフトとの互換性を重視するならHDF5を選びます。オブジェクトストレージ上で配列チャンクを個別に読み書きするならZarrを検討し、Zarr版とcodecの対応を実環境で試してください。
HDF5向き
大規模な科学・技術データを階層構造で保存する・多次元配列と関連メタデータを一つのコンテナーで扱う
- グループ・データセット・属性で複雑なデータを整理する
- 部分的な読み書きやデータセット単位の圧縮が必要な科学ワークフロー
Zarr向き
大規模な多次元配列をチャンク単位で保存・交換する・クラウドストレージ上の科学データを扱う
- 配列の一部だけを効率よく読み込む
- 分割データを複数ツールで共有する
基本情報を比較
HDF5とZarrの主な違いを確認できます。
| 項目 | HDF5 | Zarr |
|---|---|---|
| 拡張子 | .h5、.hdf5 | .zarr |
| MIME Type | ||
| 主な用途 | 大規模な科学・技術データを階層構造で保存する・多次元配列と関連メタデータを一つのコンテナーで扱う | 大規模な多次元配列をチャンク単位で保存・交換する・クラウドストレージ上の科学データを扱う |
| 圧縮 | optional_dataset_filters | optional_codecs |
| 開く方法 | HDF5対応の可視化・解析ソフトやライブラリで開き、グループ階層、データセットの形状と型、属性、フィルターを確認します。同じHDF5でもアプリケーション固有の規約があるため、作成元の仕様書も参照してください。 | Zarr対応ライブラリや解析ソフトで開き、仕様バージョン、配列形状、チャンク、codec、属性を確認します。ローカルではディレクトリ全体、クラウドでは必要なキー群を保持し、作成元のメタデータ規約も確認してください。 |
| 書き出し・変換 | CSV、Parquet、FITSなどへ変換する前に、階層、配列の次元・型、属性、単位、座標系をどう写すか決めてください。変換先で表現できない構造や属性は失われる可能性があるため、元ファイルを保管し値とメタデータを照合します。 | netCDFやHDF5との変換では次元、型、チャンク、属性、座標規約の対応を確認します。変換先で一部構造やcodecを扱えない場合があるため、元データを保存し値を検証してください。 |
用途別の選び方
作りたいものや使う場面から選べます。
グループ・データセット・属性で複雑なデータを整理する
大規模な科学・技術データを階層構造で保存する・多次元配列と関連メタデータを一つのコンテナーで扱う
HDF5向き部分的な読み書きやデータセット単位の圧縮が必要な科学ワークフロー
大規模な科学・技術データを階層構造で保存する・多次元配列と関連メタデータを一つのコンテナーで扱う
HDF5向き配列の一部だけを効率よく読み込む
大規模な多次元配列をチャンク単位で保存・交換する・クラウドストレージ上の科学データを扱う
Zarr向き分割データを複数ツールで共有する
大規模な多次元配列をチャンク単位で保存・交換する・クラウドストレージ上の科学データを扱う
Zarr向き確認ポイント 1
HDF5はファイルの内部にグループ・データセット・属性を格納します。Zarrは配列やグループのメタデータ文書とチャンクデータをストアのキーに対応させます。
使い分け確認ポイント 2
HDF5は汎用の階層データモデルで、配列のチャンク化や圧縮を選べます。ZarrはN次元配列、チャンクグリッド、codec、ストレージキーを仕様化します。
使い分け選ぶ理由を詳しく
- 部分読み込み性能はチャンク形状、アクセスパターン、キャッシュ、バックエンドに依存します。移行ではデータ型・欠損値・属性・codec互換性・チャンク分割と並列アクセスを検証してください。