剑客
关注科技互联网

Noms:灵感来自Git的数据库

原文: Noms – A versioned, forkable, syncable database

作者:Noms 翻译赖信涛 责编 :仲培艺

Noms:灵感来自Git的数据库

Noms是一个类似于Git的去中心化的数据库。支持Fork,混合版本,同步等。目前已经在GitHub上开源,并且有两个编程语言的实现。一个是Go,一个是JavaScript。在Github上,还提供了很多实用工具以及应用范例。

关于Noms

Nom相比于其它数据库,主要有以下不同:

  • Content-addressed 如果你想要往Noms存放数据,不必担心要插入的数据是否存在。重复的数据在Noms中会被自动忽略。在Noms里,没有更新,只有插入;
  • Append-only 如果你想向Noms提交什么数据,不必担心覆盖的问题。你添加的记录都有历史版本。默认情况下,Noms永远不会删除数据,你可以查看数据库的整个历史版本,比较两次提交的不同,或者回退到之前的任何一个版本;
  • Typed 任何数据值,数据表和数据库的版本,都有一个类型(type),当你添加数据的时候,会自动生成。如果你对自己足够自信,也可以自己实现Noms对类型的处理;
  • Decentralized 如果我给你一份数据库,你和我都可以同时修改数据,互不影响。一段时间之后可以合并在一起。

Setup

Noms支持MacOSX和Linux。你可以自己从源代码变异Windows版本,一般情况下都能正常工作,但是并不受官方支持。

  1. 下载Noms最新版本
  2. 解压 tar -xzf noms-*.tar.gz
  3. 运行

    ./noms ds http://demo.noms.io/cli-tour

    ./noms log http://demo.noms.io/cli-tour::sf-film-locations

Explore

Noms:灵感来自Git的数据库

讨论

niftich说:像这样的开源技术非常好。这可以用来做分布式的文件编辑应用。或者其它想要做分布式多个示例并支持以后合并的应用。

aboodman(作者)说:以下介绍一些资源:一个原型查询语言,以及如何在Noms中创建索引的示例( https://www.youtube.com/watch?v=fv6_T5yaWns );如何合并以及处理潜在的冲突( https://www.youtube.com/watch?v=–7dgoJBdjU

2016年11月18日-20日,由CSDN重磅打造的年终技术盛会 SDCC 2016中国软件开发者大会 将在北京举行,大会秉承干货实料(案例)的内容原则,本次大会共设置了12大专题、近百位的演讲嘉宾,并邀请业内顶尖的CTO、架构师和技术专家,与参会嘉宾共同探讨电商架构、高可用架构、编程语言、架构师进阶、微信开发、前端、平台架构演进、基于Spark的大数据系统设计、自动化运维与容器实践、高吞吐数据库系统设计要领、移动视频直播技术等。10月14日仍是 五折 抢票,最低1400元,注册参会。

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址