首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理大量(二进制)数据的版本控制

如何处理大量(二进制)数据的版本控制
EN

Data Science用户
提问于 2015-02-13 10:09:25
回答 9查看 28.9K关注 0票数 59

我是一个PhD的地球物理学生,工作与大量的图像数据(数百GB,数万个文件)。我对svngit相当了解,并开始重视项目历史,并能够轻松地协同工作,并具有防止磁盘损坏的能力。我发现git对于保持一致的备份也非常有用,但我知道git不能有效地处理大量二进制数据。

在我的硕士研究中,我研究了类似大小的数据集(也包括图像),并在不同的服务器/设备上跟踪不同版本的数据时遇到了很多问题。Diffing 100 of的网络真的不好玩,我花了很多时间和精力。

我知道科学上的其他人似乎也有类似的问题,但我找不到一个好的解决办法。

我想使用我的研究所的存储设施,所以我需要一些东西,可以使用“哑巴”服务器。我还希望在便携式硬盘上有一个额外的备份,因为我希望尽可能避免通过网络传输数百GB。因此,我需要一个能够处理多个远程位置的工具。

最后,我真的需要一些其他研究者可以使用的东西,所以它不需要非常简单,而应该在几个小时内就可以学到。

我评估了许多不同的解决方案,但似乎没有一个方案符合要求:

  • svn有点效率低下,需要一台智能服务器。
  • hg 大文件/大文件只能使用一个远程
  • git 大文件/媒体也只能使用一个远程设备,但效率不高。
  • 阁楼似乎没有日志,也没有扩展功能
  • 丁普看起来确实不错,但需要一个“智能”服务器才能工作。

我尝试过git-annex,它完成了我需要它做的所有事情(还有更多的事情),但是它很难使用,而且没有很好的文档。我已经用了好几天了,没办法把它弄清楚,所以我怀疑其他同事会不会有兴趣。

研究人员如何处理大型数据集,以及其他研究小组正在使用什么?

明确地说,我主要感兴趣的是其他研究人员如何处理这种情况,而不仅仅是这个特定的数据集。在我看来,几乎每个人都应该有这个问题,但我不知道有谁解决了这个问题。我应该只保留原始数据的备份,而忘记所有这些版本控制的东西吗?其他人就是这么做的吗?

EN

回答 9

Data Science用户

回答已采纳

发布于 2015-08-12 09:56:15

我最后使用的是一种混合解决方案:

  • 原始数据的备份
  • 工作流的git
  • 与之相关的工作流+处理数据的手动快照,例如:
    • 标准预处理
    • 真的很费时
    • 供出版

我相信,要对大量二进制数据进行全面修订,是很不明智的,因为审查这些变化所需的时间最终将是如此之长,以致于从长远来看是不会有回报的。也许半自动快照过程(最终通过在不同快照之间复制未更改的数据来节省一些磁盘空间)会有所帮助。

票数 12
EN

Data Science用户

发布于 2015-04-08 19:21:29

试着看看Git大型文件存储(LFS)。这是新的,但可能是值得一看的东西。

正如我所看到的,浅谈黑客新闻提到了处理大型文件的其他几种方法:

  • git-附件 (和与亚马逊S3一起使用它)
  • 汞大型文件扩展
票数 11
EN

Data Science用户

发布于 2015-02-13 13:38:56

我处理过非常大的合成生物学数据集的类似问题,在这些数据集中,我们有许多,很多GB的流式细胞术数据,分布在许多、数千个文件中,并且需要在(多个)不同机构的协作小组之间保持它们的一致性。

像svn和git这样的典型版本控制在这种情况下并不实用,因为它不是为这种类型的数据集设计的。相反,我们转而使用“云存储”解决方案,特别是DropBoxBittorrent同步。DropBox的优点是它至少可以进行一些原始日志记录和版本控制,并为您管理服务器,但是它是一项商业服务的缺点是,您必须为大型存储支付费用,并且您将未发布的数据放在商业存储上;不过,您不需要支付很多费用,所以这是一个可行的选择。Bittorrent Sync有一个非常类似的接口,但是您自己在自己的存储服务器上运行它,它没有任何版本控制。这两种方法都伤害了我的程序员的灵魂,但它们是我和我的合作者找到的最好的解决方案。

票数 9
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/5178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档