在 NoSQL 的文档型分支中,有两个杰出的代表,一个当然是被称为下代mySQL的 MongoDB,而另一个就是CouchDB,同是文档型存储,CouchDB 与MongoDB 在应用层面上走了两条截然不同的路线,下面推荐的一篇文文章,是一篇非常好的CouchDB教程,想了解CouchDB的话,非常值得一看:

CouchDB 特性介绍:

  • CouchDB is a JSON document-oriented database written in Erlang.CouchDB是一个用Erlang 写的文档型数据库。
  • It is a highly concurrent database designed to be easily replicable, horizontally, across numerous devices and be fault tolerant.支持高并发访问,支持数据同步,高容错性的分布式存储
  • It is part of the NoSQL generation of databases.它是NoSQL 体系中的一员
  • It is an open source Apache foundation project. 它是一个Apache 基金下的开源项目
  • It allows applications to store JSON documents via its RESTful interface. 它支持JSON 数据的存储,支持RESTful方式的接口。
  • It makes use of map/reduce to index and query the database.他使用map/reduce 来构建索引及进行数据查询操作

CouchDB的优势:

  • JSON Documents – 文档在CouchDB中以JSON格式存储.
  • RESTful Interface – 对CouchDB的所有操作,包括数据CRUD,数据库管理及数据同步,都可能通过HTTP方式进行。
  • N-Master Replication – 你可以使用无限多个 master 机器,这样可能会让你能够构建很有意思的数据网络拓扑。
  • Built for Offline – CouchDB 能够运行在移动设备上(Android 系统),他可以让你的移动设备在离线时存储数据,在接入网络时再同步到云端存储。
  • Replication Filters – 可以在同步复制操作中加上一个过滤器,让你有选择性的同步数据。

CouchDB:为Internet而生:

使用CouchDB,你不仅可以把它当作一个存储,更推荐的方式是完全使用它来构建应用程序,你可以把工作代码直接写在CouchDB 中,完全不需要另外的WEB Server,可以减少开销。这也是CouchDB将自己称为是为Internet而生的原因。

CouchDB的数据查询:

与其他很多存储设备不同的是,CouchDB并不支持动态查询,相反的,它需要事先换需要查询的条件构建view,view通常是一个map函数,在已有数据基础上生成一个数据子集,在查询这个view时,如果数据有变更,会触发map函数增量更新view的内容并返回。这种方式也被称作惰性索引机制。

使用教程:

文章接下来的部分还列出了一个详细的CouchDB 使用教程:

  1. 安装CouchDB
  2. 使用CouchDB 强大的 WEB 管理工具:FUTON
  3. CouchDB 用户管理
  4. 创建一个数据文档
  5. 更新数据文档
  6. 通过CURL创建文档
  7. 查询所有文档
  8. 创建一个map函数
  9. 运行一个reduce函数

原文链接:http://goo.gl/WK7q0