转自:https ://stackoverflow.com/q/34909093/472610
我从事科学研究。技术工具并不总是理想的,有时甚至不是真正经过深思熟虑的,但随着最近的发展,一个经常性的需求(在我的领域和我所知道的许多其他领域)是存储具有大量元数据的相当大的数据集(10GB - 1TB)。以可靠和有效的方式提供数据。我对这里的分布式存储根本不感兴趣。
存在许多具有不同定义规范的ad hoc文件格式。随着时间的推移,数据集自然会变得更加复杂,或者将来自不同领域的数据与其自己的文件格式集成在一起,这通常会导致大的(低效且容易出错)混乱或新的临时文件格式。
许多人选择转向由知道自己在做什么的人专门为大型数据集设计的通用存储格式,例如 HDF5。对这种体验的反馈有所缓解,许多人尤其批评为其数据集设计有效结构的复杂性,以及处理过程中的崩溃往往会导致数据损坏,这反过来又意味着丢失整个数据集。
我对文件系统了解不多,但我对虚拟机有一些经验,第一次创建虚拟机时让我大吃一惊的是我必须创建一个虚拟硬盘驱动器,它可以简单地坐在我自己的文件系统中的一个大文件。更好的是,可以选择创建一个可调整大小的,所以它可以随着我需要越来越多的内存而增长。
对于知道这些事情的人,我的问题是:
- 简单地将大型数据集作为自己的文件结构存储在虚拟文件系统中会不会有不小的缺点?它将独立于平台,不是吗?
- 是否可以选择具有内置冗余或校验和功能的文件系统,以便无论主机系统如何(例如 ZFS)都可以处理数据损坏?是否有可移植的(或至少对 unix/linux 友好的)开放库来创建/访问/修改此类虚拟文件系统?
- 是否可以轻松安装此类驱动器,例如作为外部驱动器(
.iso
例如文件)?你知道任何便携式和开源工具可以做到这一点吗?