earth-mover/icechunk
Open-source, cloud-native transactional tensor storage engine
解决的问题
Icechunk 为张量和 ND 数组数据提供了一个事务性存储引擎,专为云对象存储设计。它解决了多个未协调的进程并行读写 Zarr 数据时出现的一致性和安全性问题,使 Zarr 存储更像一个具有可序列化隔离的数据库。
工作原理
Icechunk 在 Zarr 键和实际磁盘存储之间增加了一层间接映射。它不将 Zarr 键直接映射到文件名,而是管理一组不可变的元数据和数据文件,包括一个显式跟踪每个数据块的「块清单」。这使得它可以实现事务,更新以原子方式提交,并且在事务完成前对读取者不可见。
适用人群
专为处理大规模多维数组(张量)并需要使用 Zarr 规范实现可靠、协作式云存储的数据科学家、AI/ML 工程师和科研人员设计。
主要特性
- 可序列化隔离:读取操作与并发写入隔离,确保用户始终看到已提交的快照。
- 数据版本控制:支持分支(可变引用)和标签(不可变引用),用于管理数据集的不同版本。
- 时间旅行:新更新后,旧的仓库快照仍可访问。
- 块分片:将块存储与文件名解耦,允许多个块打包到单个对象中,提升性能。
- 虚拟数据集:可引用其他格式(如 HDF5 或 NetCDF)中的块,而无需修改原始文件。
相关
- 项目
- 项目
- 项目
- 项目
- 项目