git - 有没有比 Git 更好的数据库(具有可序列化、不可变、版本化的树)?

标签 git nosql graph-theory jgit libgit2

想象一下 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/

相关文章:

mysql - 'column-adding'(模式修改)是 NoSQL(mongodb)数据库相对于 MySQL 等 RDBMS 的关键优势吗

python - 如何使用 Python 创建 DAG(用于基于依赖项的任务执行。)

git - 如何在 git 中处理跟踪生成的文件?

git - 无法在 Cygwin : error while loading shared libraries 上执行 git push/pull

git:如何将 pull 请求 merge 到一个分支中?

javascript - 完整 Node.js 网站的组成部分

nosql - Redis 在尝试保存时返回错误

prolog - 如何从序言中的列表变量的所有统一选项中获得最短列表?

algorithm - 如何将无向图转换为 DAG?

git - 是否有任何 Git 命令可以将我们所有丑陋的提交 merge 为一个?