Version control 长期源代码归档:可能吗?

Version control 长期源代码归档:可能吗?,version-control,storage,Version Control,Storage,我对将源代码可靠、安全地保存几年感到好奇。根据我的研究/经验: 光学介质,如烧坏的DVD-R,随着时间的推移会丢失一些数据。几年后,我没有把放在上面的所有文件都取下来。阅读错误等 硬盘是机械式的,容易出现故障/过时,而且数据恢复费用昂贵,很难保持数据的私密性(您将数据发送给某家公司) 磁带存储:见第2页 在线存储受制于某些数据存储中心的突发奇想、那里的安全性或缺乏安全性、公司倒闭的可能性等等。此外,在线存储的成本很高,而且你不能保证他们不会偷窥 随着时间的推移,我发现由于这些问题,我已经将源代码

我对将源代码可靠、安全地保存几年感到好奇。根据我的研究/经验:

  • 光学介质,如烧坏的DVD-R,随着时间的推移会丢失一些数据。几年后,我没有把放在上面的所有文件都取下来。阅读错误等

  • 硬盘是机械式的,容易出现故障/过时,而且数据恢复费用昂贵,很难保持数据的私密性(您将数据发送给某家公司)

  • 磁带存储:见第2页

  • 在线存储受制于某些数据存储中心的突发奇想、那里的安全性或缺乏安全性、公司倒闭的可能性等等。此外,在线存储的成本很高,而且你不能保证他们不会偷窥

  • 随着时间的推移,我发现由于这些问题,我已经将源代码丢失给了以前的项目。还有其他解决办法吗

    答案摘要:
    1.使用多种冗余方法。
    2.将源代码打印为文本或条形码。
    3.RAID阵列更适合本地存储。
    4.开放式采购将使您的项目永无止境。
    5.加密是安全的答案。
    6.磁带存储耐用。
    7.分布式/有保证的在线存储既便宜又可靠。

    8.使用源代码管理来维护历史记录,并备份repo。

    要保留的任何数据都应以多种格式存储在多个位置。虽然任何一个失败的几率都可能很大,但所有失败的几率都很小。

    如果你想长期存档某个东西,我会选择磁带机。它们可能容纳不了很多数据,但它们是可靠的,几乎是数据归档的首选存储介质。然而,我个人从未体验过磁带机上的数据丢失。

    基于您的偏执程度,我建议您使用打印机和保险箱

    更严重的是,RAID阵列不再那么昂贵,只要您继续使用和监视它,一个正确设置的阵列几乎可以保证永远不会丢失数据。

    最好的答案是“在多个位置”。如果我想尽可能长时间地保留我的源代码,我会:

    1) 定期备份到某些光学介质,比如说每月刻录一次到DVD,并在异地存档

    2) 将其备份到本地计算机上的多个硬盘驱动器

    3) 将其备份到Amazon的S3服务。他们有保证,这是一个分布式系统,因此没有单点故障,您可以轻松加密数据,这样他们就不会“偷看”数据


    通过这三个步骤,您丢失数据的机会实际上为零。对于非常重要的数据,不存在备份过多的情况

    备份项目的最佳方法是使其开源并出名。那样的话,总会有人拿着它的副本,并且能够把它发送给你


    此后,只需维护磁/光介质,继续更新磁/光介质,并在多个介质(包括RAID集,为什么不包括RAID集)上创建多个副本(在线,记住您可以对其进行加密)

    一种方法是定期回收存储介质,即从衰减介质中读取数据并将其写入新介质。有一些程序可以帮助您实现这一点,例如。最后,没有什么是永恒的。只需选择最不烦人的解决方案


    至于#2:您可以以加密的形式存储数据,以防止数据恢复专家理解它。

    我认为,如果您有写备份机制,那么选项2就足够了。它们也不一定是涉及第三方的昂贵产品(灾难恢复除外)。 RAID 5配置的服务器就可以做到这一点。如果硬盘出现故障,请更换它。所有硬盘驱动器不太可能同时出现故障。在某些情况下,即使是镜像RAID 1驱动器也足够了

    如果选项2看起来仍然是一个糟糕的解决方案,那么我唯一能想到的另一件事就是打印源代码的硬拷贝,这比上述任何解决方案都有更多的问题

    在线存储受制于某些数据存储中心的突发奇想、那里的安全性或缺乏安全性,以及公司倒闭的可能性等等。此外,它的成本很高

    不一定昂贵(例如见),也不一定不安全。你当然也可以加密你的东西

    你不能保证他们没有偷看

    没错,但可能还有比源代码更有趣的东西要看

    更严重的是,RAID阵列不再那么昂贵了


    RAID不是备份。

    我见过的最好的家用解决方案是使用2D条形码打印备份-数据密度相当高,可以相当容易地重新扫描(假定是送纸扫描仪),它把问题从数字领域转移到了物理领域——这很容易被保险箱或铁山这样的公司所解决


    另一个答案是“以上所有”。冗余总是有帮助的

    对于我的项目,我使用1、2和4的组合。如果它是非常重要的数据,那么您需要在多个位置拥有多个副本。我的重要数据每晚复制到3-4个位置


    如果您想要一个更简单的解决方案,我建议您从一家知名的供应商那里获得一个在线存储帐户,该供应商提供有保险的可靠性保证。如果您担心安全问题,请只上载加密档案中的数据。就成本而言,它可能是昂贵的。。。但是如果它真的那么重要,那么成本就不算什么了。

    我想你会惊讶于现在在线存储的价格是多么合理。AmazonS3(简单存储解决方案)每月每GB 0.10美元,上传成本为每GB 0.10美元,下载成本最高为每GB 0.17美元

    因此,如果您将20GB存储一个月,请上载20GB并下载