earth-mover/icechunk

Open-source, cloud-native transactional tensor storage engine

何を解決するか

Icechunk は、テンソルおよび ND 配列データ用のトランザクションストレージエンジンを提供し、クラウドオブジェクトストレージに特化して設計されています。複数の非同期プロセスが並行して Zarr データを読み書きする際に発生する整合性と安全性の問題を解決し、Zarr ストアを可視化された隔離(serializable isolation)を持つデータベースのように機能させます。

動作方法

Icechunk は Zarr キーと実際のディスクストレージの間に間接層を追加します。Zarr キーをファイル名に直接マッピングするのではなく、不変のメタデータとデータファイルのシステムを管理し、各チャンクを明示的に追跡する「チャンクマニフェスト」を含みます。これにより、トランザクションを実装でき、更新はアトミックにコミットされ、トランザクションが完了するまでリーダーには表示されません。

対象ユーザー

データサイエンティスト、AI/MLエンジニア、科学計算の研究者で、大規模な多次元配列(テンソル)を扱い、Zarr仕様を使用した信頼性の高い共同クラウドストレージを必要とする方々に最適です。

特徴

  • 可視化された隔離(Serializable Isolation): 読み取りは並行する書き込みから隔離され、ユーザーは常にコミット済みスナップショットを確認できます。
  • データのバージョン管理: ブランチ(変更可能な参照)とタグ(不変な参照)をサポートし、データセットの異なるバージョンを管理できます。
  • タイムトラベル: 新しい更新後も、以前のリポジトリスナップショットにアクセス可能でそのまま保持されます。
  • チャンクシャーディング: チャンクストレージをファイル名から分離し、複数のチャンクを1つのオブジェクトにまとめてパッケージ化することで、パフォーマンスを向上させます。
  • 仮想データセット: HDF5 や NetCDF などの他のフォーマットに存在するチャンクを参照可能で、元のファイルを変更せずに利用できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト