Database 是否有一个具有git特性的数据库?

Database 是否有一个具有git特性的数据库?,database,git,version-control,Database,Git,Version Control,我正在寻找一个多用户可以贡献和提交新数据的数据库;然后,其他用户可以以类似git的方式将数据拉入自己的数据库存储库。转录数据库,如果你愿意的话;这样的事情存在吗 我目前的想法是将数据库作为SQL转储到一个文件中,但一旦它有了任何大小,这很可能会变得很麻烦。另一种选择是转储数据库并使用文件系统,但它在任何大小的情况下都会变得笨拙。它不是SQL,但支持复制数据库并以类似于您所描述的方式在用户之间推/拉更改 有关更多信息,请参阅O'Reilly CouchDB中的。还有Irmin: 目前,它仅作为O

我正在寻找一个多用户可以贡献和提交新数据的数据库;然后,其他用户可以以类似git的方式将数据拉入自己的数据库存储库。转录数据库,如果你愿意的话;这样的事情存在吗

我目前的想法是将数据库作为SQL转储到一个文件中,但一旦它有了任何大小,这很可能会变得很麻烦。另一种选择是转储数据库并使用文件系统,但它在任何大小的情况下都会变得笨拙。

它不是SQL,但支持复制数据库并以类似于您所描述的方式在用户之间推/拉更改

有关更多信息,请参阅O'Reilly CouchDB中的。

还有Irmin:


目前,它仅作为OCAMLAPI提供,但未来还计划使用GraphQLAPI和Cap'n'Proto API

尽管有复杂的API和仍然稀少的文档,但它允许您插入任何后端(内存中、Unix文件系统、内存中的Git和磁盘上的Git)。因此,它甚至可以在Unikernels和浏览器上运行


它还提供了一个双向模型,其中Git本地存储库上的更改反映在应用程序状态上,反之亦然。使用复杂的API,您可以在任何Git级别上操作:

  • 仅追加Blob存储
  • 事务/复合
  • 提交以更改链和元数据为特征的层
  • 分支/Ref/标记层(仅本地,但也提供远程)以实现可变性
不可变存储通常与blob+树+文档提交相关联


由于可寻址内容的继承Git功能,Irmin允许重复数据消除,从而减少内存消耗。一些功能上持久化的数据结构非常适合此数据库,而三方合并是一种处理CRDT样式的合并冲突的新方法。

答案来自:

我一直在为Postgres(或一般的SQL数据库)寻找相同的功能,但我发现没有足够适合(简单直观)的工具。这可能是由于数据存储方式的二进制性质。听起来很理想,但看起来死了。看起来很有趣(而且很有活力)。还要看一看(基于OCaml的Git属性)

虽然这并不能回答这个问题,因为它可以用于Postgres,但请查看数据库。它具有“时间旅行”功能,允许您从任意时间点查询数据。我猜它应该能够与“分支”模型一起工作

该数据库最近正在为区块链目的开发。由于区块链的性质,数据需要以增量记录,这正是git的工作方式。是的

+ . “它就像Git一样,只是为了数据”。