解決策
科学技術計算はローカルファイルからオブジェクトストアへ移行しつつあったが、モノリシックな形式の巨大配列はリモートでのスライスが扱いにくかった。小さな領域を読むだけでも、ネットワーク上で過剰なデータを引きずることになりかねなかった。
Zarrの工夫は、N次元の型付き配列というメンタルモデルを保ちながら、保存単位を変えたことだった。データはそれぞれ決定的なキーを持つ圧縮チャンクに格納され、メタデータが形状、型、チャンクグリッド、コーデックを記述する。
これにより、この形式は分散コンピューティングに適合した。ワーカーはチャンクを並列に読み取ることができ、異なる実装がPython、Rust、JavaScript、Java、C++などの言語を対象にできた。後にOGCはZarr V2.0を多次元配列ストレージのコミュニティ標準として承認した。
達成したこと
すべてのチャンクをアドレス可能にする
うまくいった理由
チャンクキーはクラウドのオブジェクトストアやバイトアドレス可能なストレージに自然に対応する。
JSONメタデータにより、形式を検査でき、独立した実装が容易に解析できるようになった。
v3仕様は拡張ポイントを正式化し、コーデックやチャンクグリッドが中央での書き換えなしに進化できるようにした。
気候、顕微鏡、リモートセンシング、シミュレーションのワークフローにおける実際の課題を解決した。
応用できること
クラウドデータでは、科学者が配列モデルを放棄することなく部分読み取りを安価にする形式がしばしば勝利する。
その後
Zarrは分析可能な科学データの共通基盤となった。プロジェクトは10言語での実装と、合計約3.1 PBに及ぶ8つの公開データセットを掲載している。OGCの標準ページはZarrをND配列データとメタデータのためのオープンソース仕様と説明している。
出典をたどる
出典
- Zarr core specification Zarr specs documentation · zarr-specs.readthedocs.io
- Zarr Storage Specification Open Geospatial Consortium · ogc.org
- Zarr Implementations Zarr · zarr.dev
- Zarr Datasets Zarr · zarr.dev