学习NoSQL之CouchDB第一篇
CouchDB是什么?
CouchDB是一个开源的面向文档的数据库管理系统。
CouchDB它能干什么?
特别适合存储文档,很适合CMS、电话本、地址本、wikis、博客和文档等应用,在这些应用场合,文档数据库要比关系数据库更加方便,性能更好
CouchDB的特点?
一、CouchDB是分布式的数据库,他可以把存储系统分布到n台物理的节点上面,并且很好的协调和同步节点之间的数据读写一致性。这当然也得靠Erlang无与伦比的并发特性才能做到。对于基于web的大规模应用文档应用,分布式可以让它不必像传统的关系数据库那样分库拆表,在应用代码层进行大量的改动。
二、CouchDB是面向文档的数据库,存储半结构化的数据,比较类似lucene的index结构,特别适合存储文档,因此很适合CMS,电话本,地址本等应用,在这些应用场合,文档数据库要比关系数据库更加方便,性能更好。
三、CouchDB支持REST API,可以让用户使用JavaScript来操作CouchDB数据库,也可以用JavaScript编写查询语句,我们可以想像一下,用AJAX技术结合CouchDB开发出来的CMS系统会是多么的简单和方便。
CouchDB 特性介绍:
CouchDB是一个用Erlang写的文档型数据库。
支持高并发访问,支持数据同步,高容错性的分布式存储
它是NoSQL 体系中的一员
它是一个Apache 基金下的开源项目
它支持JSON 数据的存储,支持RESTful方式的接口。
他使用map/reduce 来构建索引及进行数据查询操作
CouchDB的优势:
JSON Documents– 文档在CouchDB中以JSON格式存储.
RESTful Interface– 对CouchDB的所有操作,包括数据CRUD,数据库管理及数据同步,都可能通过HTTP方式进行。
N-Master Replication– 你可以使用无限多个 master 机器,这样可能会让你能够构建很有意思的数据网络拓扑。
Built for Offline– CouchDB 能够运行在移动设备上(Android 系统),他可以让你的移动设备在离线时存储数据,在接入网络时再同步到云端存储。
Replication Filters– 可以在同步复制操作中加上一个过滤器,让你有选择性的同步数据。