增量存储/数据库

时间:2017-08-01 12:59:51

标签: database version-control

我正在寻找一种方法来仅存储存储中文档的增量值。它可以是数据库或文件系统,但主要要求是:

  • 快速(添加文档,保存新版本并检索所有内容应尽快处理)
  • 高效(它应该使用最少的存储量,同时保持足够快)
  • 能够处理大量文件(数十亿文件/文件)

起初我使用的是SVN,现在我的最佳选择似乎是Git。它有我想要的所有东西。但是,它有一些问题。

  1. 我必须拥有存储库中每个文档的最新版本的副本。这相当于存储文件夹中的大量文件。
  2. 使用完整版控件只是为了使用它的存储功能似乎有点过分。我不确定这是否有任何缺点。
  3. 我认为理想的解决方案是一个数据库,其中包含版本控制或基本上git的核心功能。

    有这样的解决方案吗?只有1名开发人员可以在没有数月/数年的研究和努力的情况下以某种方式轻松创建这样的工具吗?

    你会推荐什么?为什么?

1 个答案:

答案 0 :(得分:0)

Git确实符合您的要求。数据库或增量存储就像git仓库的.git文件夹一样。

Remote repo是仅存储不同版本的增量更改(checksum)的地方。它是裸仓库,这意味着没有工作目录(没有最新版本的文件)。所以您可以将远程仓库视为数据库

1。创建一个远程仓库:

您可以在本地创建远程仓库或托管在github,bitbuket等上。对于在github或bitbucket上托管的远程仓库,您只需要注册并创建一个存储库,然后为其克隆工作副本。所以我只是在这里列出创建一个远程仓库:

# In an empty folder, such as D:\repo
git init --bare

现在您在D:\repo中有一个空的远程仓库。

2。更改远程仓库/数据库:

在git仓库中工作,需要一份工作副本(本地仓库)。因此,您可以从remote克隆本地存储库并进行/提交更改。如果要将更改存储在远程仓库(数据库)中,只需将更改推送到远程仓库。

# In another directory, such as D:\local
git clone D:/repo
cd repo
# Add/create files you want to store in git repo (D:\local\repo)
git add .
git commit -m 'message'
git push

现在您所做的更改将存储在远程仓库中。