结构化、元数据增强的数据存储。
dsch的Python项目详细描述
DSCH
简介
dsch提供了一种将数据及其元数据存储在结构化、可靠的 方式。它建立在众所周知的数据存储引擎之上,例如 hdf5 文件 格式,提供性能和长期稳定性。
核心特性是基于模式的数据存储方法,这意味着 预定义的模式规范用于确定:
- 哪些数据字段可用
- 数据字段的(分层)结构
- 存储值的元数据(例如物理单位)
- 存储值的预期数据类型和约束
实际上,这类似于api规范,但是它可以附加到 与数据一起存储。程序编写数据集得益于数据验证 以及高级接口。 读取 程序可以确定给定数据的 预先计划,并进行相应的处理。这对于模式特别有用 随着时间的推移而发展。
对于持久存储,dsch通过其 后端 ,但全部通过一个透明的接口。通常,有 无需更改客户端代码即可支持新后端和自定义后端 可以很容易地添加到DSCH。 目前,这些存储引擎存在后端:
- hdf5 文件(通过 h5py )
- numpy.npz 文件
- matlab.mat 文件(通过 scipy )
请注意,dsch只是一个很薄的层,因此用户仍然可以从 底层存储引擎的性能。另外,使用dsch创建的文件可以 始终直接打开(即没有DSCH),并且仍然提供所有相关的 信息,甚至元数据!
推理
DSCH是对低级数据采集场景中挑战的响应, 通常在大学或研发部门的实验室中发现。频繁 在这些环境中,硬件和软件的更改是司空见惯的,而且 由于这些变化通常是由不同的人进行的,所以数据采集 硬件、软件和数据消费软件往往不同步。在 同时,数据集经常被存储(和使用!)多年来,这使得 向后兼容性是一个重要问题。
dsch的目标是通过使数据交换过程 明确的。使用预定义的模式可以确保向后兼容,只要 可能的,并且当它不能再被保留时,提供了一种清晰的方法来检测 (并正确处理)多个架构版本。另外,基于模式的验证 允许预先检测可能的错误,以便大多数与安全无关的 在使用数据的应用程序中,不必重新执行检查。
请注意,dsch主要针对这些低级应用程序。使用时 高级数据处理甚至数据科学和机器学习技术, 数据通常是针对特定的 应用程序,它通常不需要dsch的某些功能,例如 作为元数据存储。人们可能认为dsch是处理数据的工具。 在 之前,它被填充成类似于熊猫的内容。