原文:Noms – A versioned, forkable, syncable database
作者:Noms 翻译:赖信涛 责编:仲培艺
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版本,一般情况下都能正常工作,但是并不受官方支持。
- 下载Noms最新版本
- 解压
tar -xzf noms-*.tar.gz
运行
./noms ds http://demo.noms.io/cli-tour
Explore
讨论
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元,注册参会。