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

本系列文章:


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

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

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

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

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

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

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

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

目錄

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 安裝和基本使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章