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 ds http://demo.noms.io/cli-tour 

./noms log 

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式