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
./noms log
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現JSON轉Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結合數據結構來看看(二) 2017-07-26