gpt4 book ai didi

version-control - 简单的版本控制系统或版本控制文件系统或版本控制数据库

转载 作者:行者123 更新时间:2023-12-03 17:59:09 24 4
gpt4 key购买 nike

我正在为大量记录或文件(~5000 万,~100GB 未打包,~20MB 打包)寻找一个简单的版本控制系统。这些文件每个只有几千字节,并且具有唯一的 ID,所以我不介意它们是否存储在平面结构(表、目录...)中。平均而言,每条记录每月更改一次,但大多数更改的差异小于千字节,因此压缩版本应该很容易。但是,每个版本都有一个条目的幼稚数据库会增长得太快。我需要以下操作:

  • 基本 CRUD 操作:创建、读取、更新、删除
  • 快速列出最近的变化
  • 快速列出特定记录的最近更改
  • 查询给定时间段内的变化
  • 查询给定用户的更改(每个编辑都与某个用户 ID 相关联,并且可以选择将提交消息作为评论)
  • 对于写操作,必须有一个提交 Hook 来验证和拒绝格式错误的记录。

  • 简而言之,我正在寻找一个类似 Wiki 的软件,用于简单的记录或文件。

    我想到了可能的解决方案:
  • 将文件放入 版本控制系统 .这为我提供了复制和许多可用的访问工具,因此它是我的首选解决方案。但是对于像 git 这样的分布式系统来说,数据量太大了。有人使用 Subversion 成功完成类似任务吗?
  • 实现我自己的版本控制 在数据库或文件系统中。我可能只需要存储压缩记录和差异,会有更多的工作和学习一些东西。如果只是为了好玩,这将是我的首选解决方案。
  • 使用 版本控制文件系统 .这将使设置、复制和访问更加困难。可能我需要在文件系统之上实现我自己的访问 API。
  • 使用 版本控制数据库系统 .你能推荐一些吗?
  • 使用其他一些现有数据存储带版本控制(MediaWiki?、Amazon Cloud Drive?、...)

  • 显然有很多路径。其他人成功使用了哪些路径来处理类似或更多的数据?

    最佳答案

    如果您不反对在客户端上拥有每个文件的原始副本(我想这没问题,如果您正在考虑使用 svn),那么 git 可能是解决您问题的一个很好的解决方案。底层存储库存储将使用文件之间以及版本之间的二进制差异,因此您应该在那里接近最佳压缩。

    使用裸仓库和一些脚本,您甚至可以不 checkout 当前版本:对象可从命令行获得,您可以在不 checkout 的情况下创建新提交。

    关于version-control - 简单的版本控制系统或版本控制文件系统或版本控制数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5593463/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com