想象一下 Git 背后的数据结构。就像一个 confluently persistent data structure ,除了使用散列引用而不是传统指针。
我需要 Git 的数据结构,除了没有任何工作树和索引的东西。并且会有数百万个分支机构,每个分支机构都跟踪少数其他本地分支机构。提交和 merge 将在不同线程上每分钟发生数千次。每秒都会发生 pull 。
在 libgit2 之间和 jgit我可以使用 Git 的数据存储子系统。
但是我是否使用了正确的工具来完成这项工作?是否有具有 git 功能但速度更快/并发性更高/可扩展/阻抗不匹配更少的数据库?内存缓存写入将非常有用。
任务:
A collaboratively-edited game .每个玩家都有自己的分支,他们对游戏世界所做的每一次改变都只适用于他们的版本。受信任的用户将更改 merge 回“master”分支。数据和源代码通常捆绑在一起,需要相同的分支和 merge 功能。
最佳答案
Datomic提供持久数据存储和内置时间概念。
核心开发人员甚至创建了一个示例 application将 git 存储库实现到数据库中
关于git - 有没有比 Git 更好的数据库(具有可序列化、不可变、版本化的树)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7152276/