Author Archive

CouchDB介绍

什么是CouchDB

  • 文档数据库服务器,可通过RESTful JSON API访问
  • 点对点,模式自由
  • 分布式,强大的增量复制、双向冲突检测和管理
  • 具备查询,建立索引的功能,提供面向表的报告引擎,并可以使用Javascript来查询

CouchDB不是什么?

  • 关系型数据库
  • 关系型数据库的替代方案
  • 面向对象的数据库,或者更具体地说,这意味着要作为一个面向对象编程语言的一个无缝的持久层。

主要特征

文档型

一个CouchDB文档是包含命名字段的对象,字段的值可以是字符,数字,日期或者列表或者是Map。举个例子

"Subject": "这是一个CouchDB"
"Author": "couchdb.apache.org"
"PostedDate": "5/23/2006"
"Tags": ["Documents", "Views", "Distributed"]
"Intro": "分布式,文档结构的数据库服务器."

在这个例子当中,Subject包含”这是一个CounchDB”的字段。Tags是包含”Documents”,”Views”,”Distributed”的列表

一个CounchDB 数据库相当于这些文档的集合,每一个文档通过唯一ID来标识

视图

为了解决这一结构添加到半结构化数据的问题,CouchDB通过Javascrip集成浏览模式来描述。视图是在数据库里面进行集成和描述文档,是建立在需求聚集,合并和描述数据库文档的一种方法。视图是动态建立,不影响原始文件,在相同的数据基础上,你可以根据自己的需求建立各种不同的视图形式

自由模式

CouchDB不像SQL数据库那样用来存储结构严密,相互关联的数据;CounchDB的设计目的是存储大量的半结构化,面向文档的数据。CouchDB 极大的简化了面向文档的应用程序开发工作.

分布式

CouchDB是一个同等访问的分布式数据库系统,任何数量的CouchDB主机(服务器或离线客户端)都可以有独立的”同一个数据库副本的副本”,应用程序可以有完整的数据库交互(查询,添加,编辑,删除).当重新联机或按照日程安排,数据库的更改会被复制双向定向。

CouchDB具有内置的冲突检测和管理,以及快速的增量复制进度,只复制文件和自上次复制后改变的字段。大多数应用程序不需要特别的计划采取分布式的更新和复制的优势。

不同于传统的数据库试图去集成多繁杂的分布式数据库特性,CouchDB是经过精心慎重的设计,建造和集成。文档,视图,安全和复制模型,特殊目的的查询语句,高效率和强大的磁盘布局都是经过精心整合为一个可靠和有效率的系统

CouchDB 应用

CouchDB适合于邮件系统,文档系统,CMS,地址本,电话本等