本系列文章:


第一章:九析带你完爆 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 官网进行不同操作系统的二进制版本下载安装。如下截图所示:第八章 九析带你轻松完爆 hyperledger fabric - Couchdb 安装_第1张图片

3.2 docker 镜像下载和运行

docker pull couchdb

docker run -d -p 5984:5984 couchdb # -d 以后台模式运行  -p 本地端口:couchdb 容器内容端口

        运行成功之后,可以通过如下命令进行验证:

docker ps

curl localhost:5984

        正确执行结果如下图所示:image2.png

        如果觉得命令行不够直观,也可以通过浏览器直接访问:第八章 九析带你轻松完爆 hyperledger fabric - Couchdb 安装_第2张图片


4 控制台

        CouchDB 提供 Web UI,打开浏览器,输入 http://localhost:5984/_utils 打开管理页面:第八章 九析带你轻松完爆 hyperledger fabric - Couchdb 安装_第3张图片

4.1 菜单介绍

第八章 九析带你轻松完爆 hyperledger fabric - Couchdb 安装_第4张图片

4.1.1 Databases

        数据库的增删改查管理:image6.png

4.1.2 Setup

        配置数据库单点或者集群:第八章 九析带你轻松完爆 hyperledger fabric - Couchdb 安装_第5张图片

4.1.3 Active Tasks

        数据库管理任务。比如复制、压缩等管理任务:第八章 九析带你轻松完爆 hyperledger fabric - Couchdb 安装_第6张图片

4.1.4 Configuration

        数据库的配置。基本配置和跨域配置(CORS):第八章 九析带你轻松完爆 hyperledger fabric - Couchdb 安装_第7张图片

4.1.5 Replication

        复制任务管理页面:第八章 九析带你轻松完爆 hyperledger fabric - Couchdb 安装_第8张图片

4.1.6 Documentation

        帮助文档链接页面:第八章 九析带你轻松完爆 hyperledger fabric - Couchdb 安装_第9张图片

4.1.7 Verify

        安装校验检查页面,点击 “Verify Install”按钮检查你的安装是否各项都正常:第八章 九析带你轻松完爆 hyperledger fabric - Couchdb 安装_第10张图片

4.1.8 Admin Party

        创建 CouchDB 数据库管理员页面:第八章 九析带你轻松完爆 hyperledger fabric - Couchdb 安装_第11张图片

4.2 基于 web 控制台的数据库管理操作

        因为 CouchDB 是文档型数据库,因此数据库操作类似 MongoDB,数据保存格式为 Document。

4.2.1 创建测试数据库

image14.png

4.2.2 创建测试记录(Document)

第八章 九析带你轻松完爆 hyperledger fabric - Couchdb 安装_第12张图片

        添加测试记录,注意 json 格式的逗号(,)不要忘记:

第八章 九析带你轻松完爆 hyperledger fabric - Couchdb 安装_第13张图片

        创建完记录的表格样式:第八章 九析带你轻松完爆 hyperledger fabric - Couchdb 安装_第14张图片

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