其中一个问题很难用谷歌搜索。
前几天我们在 svn 存储库的速度方面遇到了问题。对此的标准解决方案似乎是“更多 RAM!更多 CPU!”等。这让我想知道,是否有任何使用文档/nosql 数据库(mongodb、couchdb 等)作为数据库的源代码控制系统?这似乎很自然——但我我不是源代码控制数据库理论方面的专家。也许有一种方法可以配置更新的源代码控制以使用文档数据库作为存储?
最佳答案
据我所知,没有人这样做,他们也不想这样做。考虑到测试程度的差异,它可能会损害健壮性(对于源代码存储库来说是一件非常糟糕的事情)。它也可能最终损害性能,因为无法进行增量存储。
请注意,Subversion 有两种截然不同的存储机制,一种由嵌入式 Berkeley DB 支持,另一种由简单文件支持。其中一个可能更适合您的使用。
此外,由于您提出的问题非常宽泛,我将对 Git 和 TFS 发表评论。
Git 在文件系统中使用非常高效的打包文件来存储存储库。通常,整个历史记录比结帐小。对于我实验室的一个非常古老的项目,整个历史是 57MiB,工作树(不包括历史)是 56MiB。
TFS 将其大量(可能是全部)数据存储在 SQL 数据库中。
关于mongodb - 任何源代码控制系统都使用文档数据库进行存储吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3806175/