Lil*_*ver 10 git graph-theory nosql jgit libgit2
想象一下Git背后的数据结构.它就像一个有条理的持久性数据结构,除了使用散列引用而不是传统的指针.
我需要Git的数据结构,除了没有任何工作树和索引的东西.并且将有数百万个分支机构,每个分支机构跟踪少数其他本地分支机构.提交和合并将在不同的线程上每分钟发生几千次.拉动会每秒发生一次.
在libgit2和jgit之间我可以使用Git的数据存储子系统.
但我使用合适的工具吗?是否有一个具有git功能的数据库,但更快/更多并发/可扩展/更少阻抗不匹配?内存缓存写入非常有用.
一个协作编辑的游戏.每个玩家都有自己的分支,他们对游戏世界所做的每一项改变都只适用于他们的版本.可信用户将更改合并回"主"分支.数据和源代码通常捆绑在一起,需要相同的分支和合并功能.
尽管 git 的索引/工作副本部分可以很容易地分离出来,但 git 并不是为在单台机器上以每秒数千次的速度合并或提交而设计的。在大多数情况下,核心代码甚至不是线程安全的。您可能需要为您的数据创建一些新系统(当然,您仍然可以使用 git 来编写代码,并且还可以在必要时生成 git 提交来表示您的数据等)。