What is Icechunk?
mainIcechunk is an open-source (Apache 2.0) transactional storage engine for tensor/ND-array data, specifically designed for use on cloud object storage. It augments the Zarr core data model with features that enhance performance, collaboration, and safety in cloud computing environments.
Key capabilities include:
- Object storage optimization: Designed for modern cloud object storage without requiring an external database.
- Serializable isolation: Provides consistent, isolated reads and atomic writes, allowing multiple uncoordinated processes to read and write safely.
- Time travel: Previous snapshots remain accessible after new ones are written.
- Data version control: Supports both branches (mutable references) and tags (immutable references).
- Chunk sharding: Decouples chunk storage from specific file names, allowing multiple chunks to be packed into a single object.
- Chunk references: Allows referencing Zarr-compatible chunks within other file formats like HDF5 or NetCDF as "virtual datasets."
- Schema evolution: Supports adding, renaming, or removing arrays and groups with minimal overhead.