mongodb - 任何源代码控制系统都使用文档数据库进行存储吗?

标签 mongodb version-control couchdb document-database nosql

其中一个问题很难用谷歌搜索。

前几天我们在 svn 存储库的速度方面遇到了问题。对此的标准解决方案似乎是“更多 RAM!更多 CPU!”等。这让我想知道,是否有任何使用文档/nosql 数据库(mongodb、couchdb 等)作为数据库的源代码控制系统?这似乎很自然——但我我不是源代码控制数据库理论方面的专家。也许有一种方法可以配置更新的源代码控制以使用文档数据库作为存储?

最佳答案

据我所知,没有人这样做,他们也不想这样做。考虑到测试程度的差异,它可能会损害健壮性(对于源代码存储库来说是一件非常糟糕的事情)。它也可能最终损害性能,因为无法进行增量存储。

请注意,Subversion 有两种截然不同的存储机制,一种由嵌入式 Berkeley DB 支持,另一种由简单文件支持。其中一个可能更适合您的使用。

此外,由于您提出的问题非常宽泛,我将对 Git 和 TFS 发表评论。

Git 在文件系统中使用非常高效的打包文件来存储存储库。通常,整个历史记录比结帐小。对于我实验室的一个非常古老的项目,整个历史是 57MiB,工作树(不包括历史)是 56MiB。

TFS 将其大量(可能是全部)数据存储在 SQL 数据库中。

关于mongodb - 任何源代码控制系统都使用文档数据库进行存储吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3806175/

相关文章:

php - 如何单击表条目并在另一个 mongodb 集合(php/jquery)中搜索它

version-control - 如何克隆到修订版本而不丢失修订版本号?

mongodb - NoSQL 和即席查询 - 数百万行

javascript - CouchDB 文档映射修改

python - 无法在 Couchdb 上运行 Python View

node.js - Node Mongoose 在循环中查找查询不起作用

mongodb - 如何在查询中从 Waterline 0.10.x 中提取不同的值?

mongodb - MongoDB Replica Sets如何实现强一致性?

git - 将两个 git 存储库 merge 为一个,保留(重命名)master 分支

objective-c - Xcode Interface Builder 在打开时更改文件,导致 SCM 将其报告为已修改