跳转到主要内容
ActivePapers 将您的数据存储为可重新计算的文档,确保任何发布的结果均可重新运行、验证并永久保存。

本站部分链接为联盟营销链接:如果您通过这些链接购买,我们可能会获得佣金,且不会增加您的成本。这绝不会影响我们的推荐建议。详情请参阅我们的联盟披露声明。 联盟营销披露.

最佳长期数据存储:首选比较

长期数据存储涉及保持数字数据可读且完整数年甚至数十年,实用选项分为五个系列:磁性硬盘驱动器、磁带 (LTO)、光盘、闪存/SSD 以及云或托管存档。对于科学工作来说,存储介质只是问题的一半:文件格式和描述它的元数据决定了数据在 2035 年是否仍然可用。

要点

  • 没有单一介质能够获胜:长期数据存储的可持续解决方案是多层策略:快速工作存储、经过验证的存档副本以及能够经受住软件改动的格式。
  • 磁性硬盘驱动器 (HDD) 和 LTO 磁带在冷存档的每 TB 成本方面仍然处于领先地位; SSD 非常适合工作集,但对于无动力的十年级档案来说却很糟糕。
  • 对于模拟和分析结果,当考虑 hdf5 与 parquet 进行数据存储时,它们解决了不同的问题:HDF5 用于分层、分块和多维数组;Parquet 用于列式表格数据和云分析。
  • “长期”是维护承诺,而不是购买:位腐烂、格式过时和文档丢失比硬件故障更常见地导致长期归档数据存储。
  • 3-2-1 规则(三个副本、两种类型的介质、一种异地)以及定期完整性检查构成了任何认真的实验室都应遵守的基线长期数据存储解决方案。

什么是长期数据存储?

长期数据存储是硬件、介质和文件格式的任意组合,旨在在数年甚至数十年的时间内保留可恢复的数据,而不是工作磁盘的数月或数年的使用寿命。时间范围很重要,因为故障模式会随着时间的推移而变化:一年时,您担心磁盘故障;十年后,您想知道编写该文件的软件是否仍然存在。

一个有用的定义将三层分开。物理层是介质:硬盘驱动器、LTO 盒式磁带、蓝光光盘或云区域中的对象存储。逻辑层是文件系统和容器:ext4、ZFS、tar 或对象存储的存储桶语义。语义层是格式及其文档:HDF5、Parquet、NetCDF、CSV 或特定于域的模式。存档最常在语义层失败,因为充满未记录的二进制 blob 的完美健康磁盘并不构成可用数据。

对于研究小组来说,实际问题很少是“单一最佳媒介是什么”,而几乎总是“如何以单一失败、预算削减或供应商决策不会破坏数据集的方式组合媒体”。其余的比较正是基于这个框架。

长期数据存储选项

长期数据存储选项分为五个系列,每个系列都有不同的成本、寿命和访问配置文件。诚实地比较它们意味着比较每 TB 的成本、预期媒体寿命、读取延迟以及每个项目所需的持续的人力投入。在评估长期数据存储解决方案时,考虑数据集的特定需求非常重要。

选项典型角色访问速度持续努力最适合
磁性 HDD(外置/RAID)工作+温存档快中(旋转检查)大型活跃数据集
LTO 磁带冷存档慢(分钟)高(驱动+旋转)多TB冷拷贝
光学(M-DISC、存档蓝光)小型冷存档慢低文件,不可替代的小型数据集
固态硬盘/NVMe工作集、缓存最快低主动分析,而不是几十年
云/托管存档异地复制、分层变量低-中异地 3-2-1 副本

磁性硬盘驱动器是默认的主力:单个大型硬盘驱动器可以以任何随机访问介质中每 TB 最低的成本存储数 TB 数据,而现代驱动器设计用于多年的连续运行。它们的弱点在于机械方面:轴承、磁头和电机都会退化,将无动力的驱动器放在架子上十年就是一场赌博。

Related: — Project-based data-science paths with a guided terminal and real datasets.

LTO Tape 是长期归档数据存储的归档专家。磁带盒的设计具有较长的保质期,每 TB 的规模价格低廉,并且是大多数国家实验室和档案馆标准化的介质。问题在于驱动器:LTO 世代读取前两代。因此,磁带归档需要定期迁移到新驱动器并重写盒式磁带,这代表了实际的经常性成本。

光学媒体填补了一个空白。归档级磁盘(M-DISC 和类似磁盘)的销售寿命为一个世纪,对于小型、高价值的数据集确实有用,但每个磁盘的容量不大,并且写入大量数据的速度很慢。

闪存和 SSD 非常适合工作数据,但对于未通电的档案来说却很糟糕:随着时间的推移,电荷会泄漏,控制器和固件是额外的故障点。云和托管档案以资金换取减少的运营开销,并为您提供几乎免费的 3-2-1 异地步骤,但代价是出口费用和供应商锁定。对于那些使用特定格式的人来说,考虑使用 hdf5 与 parquet 进行数据存储会影响效率;遵循 hdf5 数据存储最佳实践和 hdf5 云存储最佳实践可以进一步优化这些长期数据存储策略。

Worth a look: — One subscription for university-backed Python and data-science certificates.

长期数据存储设备

长期数据存储设备的范围从简单的外部驱动器到机器人磁带库,正确的设备是您可以实际监控其故障模式的设备。无论其技术数据表如何,您无法验证的设备都不是存档。在考虑长期数据存储解决方案时,目标是保持可访问的长期归档数据存储。

外部硬盘驱动器和桌面 RAID 机箱是大多数实验室的切入点。双盘位 RAID 1 机箱可以防止单个驱动器故障,但不能防止火灾、盗窃、勒索软件或损坏两个镜像的控制器错误。 RAID 是关于可用性,而不是备份——这一区别值得重复,因为它是实验室存储中最常见的误解。

NAS 单元添加网络访问,并且通常添加快照,这确实很有价值:文件系统快照允许您恢复因错误的脚本执行而覆盖的文件。基于 ZFS 的系统添加了校验和和清理功能,可以检测并修复位腐烂 (bit rot),这是一种多年来积累的无声损坏。对于科学数据,校验和不是可选的;这就是知道你的记录完好无损和希望它们完好无损之间的区别。根据数据格式,用户可以评估 hdf5 与 parquet 的数据存储,以优化这些系统;遵循 hdf5 数据存储最佳实践可以确保更好的寿命。

磁带库和自动加载机是一类用于多 TB 冷存档的设备。它们的前期费用昂贵,并且需要迁移计划,但它们可以扩展到 PB 级,并且是机构档案中的常态。

存档光盘驱动器和光盘刻录机简单、离线且不受网络威胁的影响,使其成为小型关键数据集的合理第三个副本。云对象存储只是抽象的设备(您租用的是持久性保证而不是硬件),但它是满足异地需求的最简单方法,前提是您在适用时遵循云存储的 hdf5 最佳实践。

长期数据存储解决方案

长期数据存储解决方案是策略,而不是产品,适用于物理模拟小组的策略与适用于生物信息学实验室的策略不同。常见的结构是分层的:热工作存储、温本地存档和冷异地副本,每个级别都记录了格式。在决定格式时,研究人员经常根据具体的数据结构来权衡 hdf5 与 parquet 的数据存储。

Related: — A deep technical library of scientific-computing books, videos and live training.

长期数据存储 SSD 与 HDD

SSD 与 HDD 长期数据存储是最需要的比较,诚实的答案是它们服务于不同的时间范围。 SSD 速度更快、更安静、抗冲击,并且更适合主动分析,但闪存单元在断电时的电荷保持时间有限(以几年而不是几十年为单位),并且 SSD 控制器可能会在没有警告的情况下发生故障。硬盘驱动器速度较慢且机械化,但每 TB 的成本较低,并且其故障模式(坏扇区、磁头崩溃)通常可以通过 SMART 数据提前检测到。

对于十年规模的档案馆来说,两者本身都不理想。实用的模型是:SSD 用于工作集,HDD 用于带校验和的温存档,磁带或云用于冷副本。如果您必须为架子存档选择介质,则将断电存储在气候受控位置并定期进行旋转检查的硬盘驱动器优于在相同时间段内断电的 SSD。

计算机中的长期数据存储

用IT术语来说,长期数据存储意味着内部驱动器、文件系统和备份软件协同工作。对于大多数个人研究人员来说,具有大型内部硬盘驱动器、带校验和的 ZFS 或 Btrfs 文件系统以及到外部驱动器和云存储桶的自动备份作业的工作站是一个完整的解决方案。文件系统的选择比大多数人预期的更重要:校验和文件系统可以检测到损坏,简单的 ext4 或 NTFS 卷将乐意为您提供有效数据。对于使用特定格式的用户,遵循hdf5数据存储最佳实践和hdf5云存储最佳实践可以进一步确保数据完整性。

If you are shopping: — Interactive Python and data-science courses you code directly in the browser.

长期数据存储 Reddit

长期数据存储 Reddit 线程值得一读的原因有一个:它们揭示了隐藏在数据表中的真实失败故事。 r/DataHoarder 和 r/homelab 等社区中反复出现的主题是廉价外部驱动器的不可靠性、测试恢复而不是信任备份的重要性以及专有格式的困难。将论坛建议视为轶事,而不是证据 - 但“我的档案在我尝试恢复它们之前都很好”模型是一个真实且有据可查的风险。

长期数据存储介质

长期数据存储介质构成了物理基质,根据长期归档数据存储的预期保质期,诚实的排名大致是:归档光盘和磁带位于耐用端,磁性硬盘位于中间,无电源闪存位于脆弱端。制造商公布的介质寿命数据假设了理想的温度和湿度,因此现实世界的存储条件(实验室架子、地下室、热服务器机房)会缩短寿命。最安全的假设是任何媒体都应该每隔几年验证一次,并每五到十年迁移一次。

HDF5 与 Parquet 数据存储对比

用于数据存储的 HDF5 与 Parquet 的决定将决定十年后档案的有用性,并且这两种格式都针对不同形式的数据进行了优化。 HDF5 是专为多维数组设计的分层容器:它将数据集存储在组树中,支持分块和压缩,并且是许多科学工具的本机格式。 Parquet 是一种列式格式,专为表格数据和分析查询而设计,具有高压缩率和数据工程生态系统的广泛支持。

当您的数据是数组形状(模拟快照、图像堆栈、场时间序列)并且您想要在单个文件中存储具有共享元数据的许多相关数组时,请选择 HDF5。当您的数据是表格形式(每帧测量、粒子表、参数扫描结果)并且您想要高效查询子集或从 Spark、DuckDB 或云仓库读取数据时,请选择 Parquet。

混合模型非常适合模拟管道:将原始数组输出保留在 HDF5 中,并在 Parquet 中写入派生的表格摘要以供分析和共享。记录两者,因为格式只是记录的一半 - 模式和单位是另一半。

HDF5 数据存储最佳实践

HDF5 数据存储最佳实践从文件呈现开始,因为结构不良的 HDF5 文件即使在一年后也很难读取。使用一致的组层次结构,以描述性方式命名数据集,并附加关于单位、出处和软件版本的属性。将代码版本和随机种子存储在数据旁边;没有参数的模拟结果是不可重现的。这种方法可确保可靠的长期数据存储。

分块(Chunking)和压缩值得深思熟虑的选择。块形状应与您的读取模式匹配(沿您最常切片的轴进行分块),而压缩(gzip 或在可接受情况下的有损过滤器)会以一定的 CPU 成本降低文件大小。在考虑 hdf5 与 parquet 的数据存储对比时,请记住避免在单个文件中包含数千个小数据集;应明智地对它们进行分组,并考虑每个时间步或每次运行使用一个文件,而不是使用一个难以移动且有损坏风险的巨大文件。这些是至关重要的长期数据存储解决方案。

HDF5 云存储最佳实践

云存储的 HDF5 最佳实践与本地实践不同,因为对象存储不是文件系统。HDF5 文件通常以整体或大块的形式读取,因此在存储桶中存储数百万个小型 HDF5 文件会产生列表(listing)和请求开销。选择数量更少、体积更大的文件,或者选择专为对象存储设计的格式,例如 Zarr,它将数组分成许多可以并行读取的对象,用于长期存档数据存储。

保留一份将文件映射到运行记录和校验和的清单(manifest),并将其与数据一起存储。云存储为您提供了持久性(durability),但不提供可读性:一个装满 HDF5 文件但没有索引或模式(schema)文档的存储桶,虽然持久但毫无用处。

长期归档数据存储与长期数据归档

长期归档数据存储(Long-term archival data storage)是一门确保数据不仅存在而且可读的学科,而长期数据归档(long-term data archiving)则是其操作层面:即保持归档活力的常规流程。基本流程包括完整性检查、格式迁移和文档记录。

完整性验证意味着定期验证所有副本的校验和。像 sha256sum、ZFS scrubbing 以及支持 Parquet/HDF5 的验证器等工具可以快速检测损坏,只要仍存在一个良好的副本用于修复即可。格式迁移意味着当某种格式或介质接近过时时重写数据,例如将 LTO-6 磁带迁移到 LTO-9,或将已弃用的二进制格式转换为 HDF5 或 Parquet。文档记录是指存储在数据中以及独立位置的 README 文件,用于解释模式、单位和软件版本。

对于基于 Python 的科学流水线,长期数据存储解决方案的实用技术栈是:使用 h5py 的 HDF5(用于数组数据)、使用 pyarrow 或 pandas 的 Parquet(用于表格数据),以及在写入时生成的校验和清单。在考虑 hdf5 与 parquet 的数据存储对比时,这种组合可由广泛可用的开源库读取,这是您能获得的最好的防止格式过时的保证。遵循 hdf5 数据存储最佳实践和 hdf5 云存储最佳实践可确保长期归档数据存储的寿命。

资料来源和进一步阅读

  • Data storage — Wikipedia:数据存储是在存储介质中记录(存储)信息(数据)。手写、留声机记录、磁带和光盘都是……
  • Cloud storage — Wikipedia:云存储是一种计算机数据存储模型,其中数据(被称为在“云”上)远程存储在逻辑池中,用户可以通过……
  • Research data archiving — Wikipedia:研究数据归档是对学术研究数据的长期存储,包括自然科学、社会科学和生命科学。各种学术……
  • Data — Wikipedia:数据(DAY-tə,美国也读作 DAT-ə)是离散或连续值的集合,用于传达信息,描述数量、质量、事实、统计数据等……

常见问题

什么是长期数据存储?

长期数据存储是介质、文件系统和文件格式的组合,旨在使数据在数年甚至数十年内可恢复。它与普通备份不同,因为其时间跨度足够长,以至于软件过时和静默损坏(silent corruption)成为了主导风险,而不仅仅是磁盘故障。

主要的长期数据存储选项有哪些?

主要的长期数据存储解决方案包括磁性硬盘驱动器(HDD)、LTO 磁带、归档光盘、SSD 以及云或托管归档。最严谨的配置会结合多种方案:用于工作数据的快速本地存储、带有校验和的本地归档,以及遵循 3-2-1 规则的异地副本。

实验室应该购买哪些长期数据存储设备?

实验室通常需要一个带有校验和文件系统的大型内置或外置 HDD、一个用于本地冗余的第二个驱动器或 NAS,以及一个用于异地副本的磁带驱动器或云存储桶。设备本身的重要性次于定期验证其内容的能力。

SSD 或 HDD 哪个更适合长期数据存储?

HDD 通常更适合十年规模的长期归档数据存储,因为其每 TB 成本更低,且其故障模式通常可以提前检测到。SSD 更适合活跃的工作数据,但未供电的闪存保持电荷的时间有限,因此它不是货架归档的理想选择。

最好的长期数据存储介质是什么?

磁带和归档光盘的预期保质期最长,磁性 HDD 居中,未供电的闪存最脆弱。没有一种介质是永久的,因此实际的答案是至少使用两种介质类型,并每五到十年迁移一次。

科学数据应该如何长期存储?

科学数据应存储在开放且文档齐全的格式中——在考虑 hdf5 与 parquet 的数据存储对比时,使用 HDF5 存储多维数组,使用 Parquet 存储表格数据——并配备校验和、模式 README 和记录的软件版本。遵循 hdf5 数据存储最佳实践和 hdf5 云存储最佳实践,在可行时以两种格式存储相同的数据,可以增加针对任何单个库停止维护的弹性。

Frequently asked questions

什么是长期数据存储?

长期数据存储是介质、文件系统和文件格式的组合,旨在使数据可恢复数年甚至数十年。它与普通备份不同,因为时间跨度足够长,以至于软件过时和静默损坏成为主要风险,而不仅仅是磁盘故障。

主要的长期数据存储选项有哪些?

主要的长期数据存储解决方案是磁性硬盘驱动器、LTO 磁带、档案光盘、SSD 以及云或托管档案。最严格的配置结合了多种配置:用于工作数据的快速本地存储、带有校验和的本地存档以及遵循 3-2-1 规则的异地副本。

实验室应该购买哪些长期数据存储设备?

实验室通常需要带有校验和文件系统的大型内部或外部 HDD、用于本地冗余的第二个驱动器或 NAS,以及用于异地副本的磁带驱动器或云存储桶。设备的重要性不如定期验证其内容的能力。

SSD 或 HDD 哪个更适合长期数据存储?

HDD 通常更适合十年规模的长期存档数据存储,因为它每 TB 更便宜,而且其故障模式通常可以提前检测到。 SSD 更适合活跃的工作数据,但未供电的闪存的充电时间有限,因此对于货架存档而言,它不是一个糟糕的选择。

最好的长期数据存储介质是什么?

磁带和存档光盘的预期保质期最长,磁性 HDD 位于中间,无电源闪存最脆弱。没有一种介质是永久的,因此实际的答案是至少使用两种介质类型并每五到十年迁移一次。

科学数据应该如何长期保存?

科学数据应该以开放的、记录良好的格式存储——考虑使用 hdf5 与 parquet 进行数据存储,使用 HDF5 进行多维数组,使用 Parquet 进行表格数据——并带有校验和、模式自述文件和记录的软件版本。遵循 hdf5 数据存储最佳实践和 hdf5 云存储最佳实践,在实际情况下以两种格式存储相同的数据,增加了针对任何单个库无法维护的弹性。


Learn Python by coding in your browser

Interactive Python and data-science courses you code directly in the browser