1 apache CouchDB介绍
Apache的CouchDB是⼀个免费的开源的数据库。
官网:https://couchdb.apache.org/
其主要特点如下:
1.schema free (不需要提前设计表)
2.documented oriented , json structure data(⾯向⽂档)
3.high concurrent (⾼并发)
4.RESTful HTTP API (restful ⻛格的http请求形式的API)
5.Javascript powered MapReduce (基于javascript 实现的 MapReduce)
6.N-Master Repilication (多节点同步复制)
7.Robust Strorage ( 可靠的健壮的数据存储)
为什么选择 CouchDB?
1. relax
2. A Different Way to Model Your Data
3. A Better Fit for Common Applications
a) selt-contained data ⾃包含的数据
b) syntax and semantics 易使⽤的语法和场景
4. Building Blocks for Larger Systems
5. CouchDB Replication
6. Local Data Is King
2 CouchDB采⽤json格式数据做数据存储
CouchDB 为⽂档型数据库做了⼀个很好的定义, ⾮常具有代表意义.
举个例⼦:
-- 名⽚ 表
create table tab_namecard(
id int primary key auto_increment,
name varchar(20), -- 姓名
address varchar(50), -- 地址
cellphone varchar(11), -- ⼿机
fax varchar(15), -- 传真
qq varchar(11), -- qq
chatno varchar(50), -- 微信
aliwangwang varchar(30), -- 阿⾥旺旺
whatsapp varchar(40)
);
-- 这⾥⼤家发现如果我们在关系型数据库中 创建⼀张表来保存数据,那么不可避免的就会有很多很多的列. ⽽有的名⽚信息 ⾥⼜些数据⼜是没有的,因为实际的情况是有些⼈的名⽚就是没有 所有的这些信息,那么我们在 创建的表,并且在表中插⼊数据的时候, 不可避免的就会出现有些列根本就没有数据. 这样做实际上就不好, 你可能会想,为什么需要表呢? 如果没有表 就不能存储 数据了吗? 这个时候, 我们来看,如果我们使⽤ json 格式的数据, 那么就很容易 解决这样的问题.
json格式的数据
例如:
{"name":"⿊⻢程序员","address":"北京昌平区⾦燕⻰办公楼⼀层","phone":"400-618-
9090"}
再例如:
{"name":"张三⽼师","role":"传智播客讲师","cellphone":"13912345678"}
-- ⼤家对⽐后发现, 采⽤json格式的数据保存数据, ⽐传统的表要更加的灵活,并且这样存储我们似乎认为更接地⽓.
3 CentOS安装CouchDB
3.1 安装CouchDB
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://couchdb.apache.org/repo/couchdb.repo
sudo yum install -y couchdb
3.2 配置CouchDB
vi /etc/couchdb/local.ini
设置CouchDB的登录密码:
重新启动 CouchDB 服务,将密码转换为哈希。
使用相同的格式添加多个管理员帐户。添加新帐户后,您需要重新启动CouchDB服务。
3.3 启动CouchDB
sudo systemctl restart couchdb
使用之前设置的用户名密码登陆
http://ip:5984/_utils/#login
配置节点
那么到底是选择单节点模式,还是选择集群模式,这个你需要根据⾃⼰的情况选择,如果选择集群模 式,你还需要有另外⼀台 电脑上也在运⾏ 着 couchDB,所以推荐⼤家⼊⻔,先选择 单节点模式。
接下来以选择单节点模式为例。
3.4 couchDB 安装完成后, 做相应的 verify校验功能: