第八章 九析帶你輕鬆完爆 hyperledger fabric - Couchdb 安裝

本系列文章:web


第一章:九析帶你完爆 hyperledger fabric - 快速上手 basic-network 樣例docker

第二章:九析帶你完爆 hyperledger fabric - 快速搭建 GO 環境數據庫

第三章:九析帶你完爆 hyperledger fabric - 快速上手 first-network 樣例apache

第四章:九析帶你完爆 hyperledger fabric - 系統邏輯架構篇json

第五章:九析帶你完爆 hyperledger fabirc - 網絡節點介紹跨域

第六章:  九析帶你輕鬆完爆 hyperledger fabric - 區塊和區塊鏈介紹瀏覽器

第七章:  九析帶你輕鬆完爆 hyperledger fabric - 區塊鏈防篡改機制網絡

第八章:九析帶你輕鬆完爆 hyperledger fabric - Couchdb 安裝架構

目錄app

1 前言

2 特色

    2.1 分佈式數據庫

    2.2 面向文檔數據庫

    2.3 支持 REST API

3 下載安裝運行

    3.1 二進制安裝

    3.2 docker 鏡像下載和運行

4 控制檯

    4.1 菜單介紹

        4.1.1 Databases

        4.1.2 Setup

        4.1.3 Active Tasks

        4.1.4 Configuration

        4.1.5 Replication

        4.1.6 Documentation

        4.1.7 Verify

        4.1.8 Admin Party

    4.2 基於 web 控制檯的數據庫管理操做

        4.2.1 建立測試數據庫

        4.2.2 建立測試記錄(Document)

    4.3 基於命令行的數據庫管理操做

        4.3.1 查看數據庫元信息

        4.3.2 查看數據庫記錄

        4.3.3 插入數據庫記錄

        4.3.4 刪除數據庫記錄

        4.3.5 更新數據庫記錄


1 前言

        CouchDB 是一個開源的面向文檔的數據庫管理系統,能夠經過 RESTful JSON API 訪問。術語 "CouchDB" 是 "Cluster Of Unreliable Commodity Hardware" 的首字母縮寫,它反應了即便在容易出現故障的硬件上,CouchDB 也能夠提供高可用、高可靠和高度伸縮性。CouchDB 口號是構建面向 web 應用的新一代存儲系統。

        CouchDB 是一個頂級的 Apache Software Foundation 開源項目,根據 Apache 許可 V2.0 發佈,基於 Erlang 語言編寫。

        CouchDB 官網請點擊


2 特色

2.1 分佈式數據庫

        CouchDB 是分佈式數據庫,它能夠把存儲系統分佈到 n 臺物理節點上面,而且很好的協調和同步節點之間的數據讀寫一致性。對於基於 web 的大規模應用文檔應用,分佈式可讓它沒必要像傳統的關係型數據庫那樣分庫拆表,在應用層代碼進行大規模的改動。

2.2 面向文檔數據庫

        CouchDB 是面向文檔的數據庫,存儲辦結構化的數據,比較相似 lucene 的 index 結構,特別適合存儲文檔,所以很適合 CMS、電話本、地址本等應用,在這些應用場合,文檔數據庫要比關係數據庫更加方便,性能更好。

2.3 支持 REST API

        可讓用戶使用 Javascript 來操做 CouchDB 數據庫,也能夠用 JS 編寫查詢語句,能夠設想,用 AJAX + CouchDB 開發 CMS 系統會是多麼的簡單方便。


3 下載安裝運行

3.1 二進制安裝

        能夠到 CouchDB 官網進行不一樣操做系統的二進制版本下載安裝。以下截圖所示:image1.png

3.2 docker 鏡像下載和運行

docker pull couchdb

docker run -d -p 5984:5984 couchdb # -d 之後臺模式運行  -p 本地端口:couchdb 容器內容端口

        運行成功以後,能夠經過以下命令進行驗證:

docker ps

curl localhost:5984

        正確執行結果以下圖所示:image2.png

        若是以爲命令行不夠直觀,也能夠經過瀏覽器直接訪問:image3.png


4 控制檯

        CouchDB 提供 Web UI,打開瀏覽器,輸入 http://localhost:5984/_utils 打開管理頁面:image4.png

4.1 菜單介紹

image5.png

4.1.1 Databases

        數據庫的增刪改查管理:image6.png

4.1.2 Setup

        配置數據庫單點或者集羣:image7.png

4.1.3 Active Tasks

        數據庫管理任務。好比複製、壓縮等管理任務:image8.png

4.1.4 Configuration

        數據庫的配置。基本配置和跨域配置(CORS):image9.png

4.1.5 Replication

        複製任務管理頁面:image10.png

4.1.6 Documentation

        幫助文檔連接頁面:image11.png

4.1.7 Verify

        安裝校驗檢查頁面,點擊 「Verify Install」按鈕檢查你的安裝是否各項都正常:image12.png

4.1.8 Admin Party

        建立 CouchDB 數據庫管理員頁面:image13.png

4.2 基於 web 控制檯的數據庫管理操做

        由於 CouchDB 是文檔型數據庫,所以數據庫操做相似 MongoDB,數據保存格式爲 Document。

4.2.1 建立測試數據庫

image14.png

4.2.2 建立測試記錄(Document)

image15.png

        添加測試記錄,注意 json 格式的逗號(,)不要忘記:

image88.png

        建立完記錄的表格樣式:image16.png

4.3 基於命令行的數據庫管理操做

4.3.1 查看數據庫元信息

curl localhsot:5984/jiuxi

        jiuxi 是自建的測試數據庫,查詢結果以下圖所示:image17.png

4.3.2 查看數據庫記錄

curl localhost:5984/jiuxi/635959a35a592976255a31313a0023ca

        635959a35a592976255a31313a0023ca 是數據庫中的某條記錄 ID,查詢結果以下圖所示:image18.png

4.3.3 插入數據庫記錄

curl -X POST -H "Content-Type: application/json" -d '{"_id": "1", "name": "zenglin"}' http://localhost:5984/jiuxi

        命令執行結果以下圖所示:image19.png

4.3.4 刪除數據庫記錄

curl -X DELETE http://localhost:5984/jiuxi -d '{"_id": "635959a35a592976255a31313a0023ca", "_rev": "1-f75a45bdddd2f3bbd4c595aecdc1483e"}'

        注意全部在刪除數據庫記錄的時候都要帶上版本字段「_rev",不然會報錯,報錯內容以下:

{"error":"conflict","reason":"Document update conflict."}

4.3.5 更新數據庫記錄

curl -X PUT http://localhost:5984/jiuxi/635959a35a592976255a31313a0075ca -d '{"_id": "635959a35a592976255a31313a0023ca", "_rev": "2-27d143142ed31c08252b2e9a002b71cb", "name": "zenglin", "age": 18, "gender": "male"}'

        注意全部在更新數據庫記錄的時候都要帶上版本字段「_rev」,不然會報錯,報錯內容以下:

{"error":"conflict","reason":"Document update conflict."}

        自此, 九析帶你輕鬆完爆 CouchDB 安裝和基本使用。

相關文章
相關標籤/搜索