计算机科学和机器学习 (ML) 的许多令人兴奋的当代应用程序操纵跨越单个大坐标系的多维数据集,例如,通过空间网格上的大气测量进行天气建模或从 2d 中的多通道图像强度值进行医学成像预测或 3D 扫描。在这些设置中,即使是单个数据集也可能需要 TB 或 PB 的数据存储。使用此类数据集也具有挑战性,因为用户可能会以不规则的间隔和不同的规模读取和写入数据,并且通常对使用大量并行工作的机器执行分析感兴趣。
今天我们将介绍 TensorStore,这是一个开源 C++ 和 Python 软件库,专为存储和操作 n 维数据而设计,它能够:
- 提供统一的 API 用于读写多种数组格式,包括 zarr 和 N5。
- 本机支持多种存储系统,包括 Google Cloud Storage、本地和网络文件系统、HTTP 服务器和内存存储。
- 支持读/写缓存和事务,具有强大的原子性、隔离性、一致性和持久性 (ACID) 保证。
- 通过乐观并发支持从多个进程和机器进行安全、高效的访问。
- 提供异步 API 以实现对高延迟远程存储的高吞吐量访问。
- 提供高级、完全可组合的索引操作和虚拟视图。