Noms是一個(gè)類似于Git的去中心化的數(shù)據(jù)庫(kù)。支持Fork,混合版本,同步等。目前已經(jīng)在GitHub上開源,并且有兩個(gè)編程語(yǔ)言的實(shí)現(xiàn)。一個(gè)是Go,一個(gè)是JavaScript。在Github上,還提供了很多實(shí)用工具以及應(yīng)用范例。
關(guān)于Noms
Nom相比于其它數(shù)據(jù)庫(kù),主要有以下不同:
- Content-addressed 如果你想要往Noms存放數(shù)據(jù),不必?fù)?dān)心要插入的數(shù)據(jù)是否存在。重復(fù)的數(shù)據(jù)在Noms中會(huì)被自動(dòng)忽略。在Noms里,沒(méi)有更新,只有插入;
- Append-only 如果你想向Noms提交什么數(shù)據(jù),不必?fù)?dān)心覆蓋的問(wèn)題。你添加的記錄都有歷史版本。默認(rèn)情況下,Noms永遠(yuǎn)不會(huì)刪除數(shù)據(jù),你可以查看數(shù)據(jù)庫(kù)的整個(gè)歷史版本,比較兩次提交的不同,或者回退到之前的任何一個(gè)版本;
- Typed 任何數(shù)據(jù)值,數(shù)據(jù)表和數(shù)據(jù)庫(kù)的版本,都有一個(gè)類型(type),當(dāng)你添加數(shù)據(jù)的時(shí)候,會(huì)自動(dòng)生成。如果你對(duì)自己足夠自信,也可以自己實(shí)現(xiàn)Noms對(duì)類型的處理;
- Decentralized 如果我給你一份數(shù)據(jù)庫(kù),你和我都可以同時(shí)修改數(shù)據(jù),互不影響。一段時(shí)間之后可以合并在一起。
Setup
Noms支持MacOSX和Linux。你可以自己從源代碼變異Windows版本,一般情況下都能正常工作,但是并不受官方支持。
- 下載Noms最新版本
- 解壓tar -xzf noms-*.tar.gz
- 運(yùn)行
./noms ds http://demo.noms.io/cli-tour
./noms log
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26