
CouchDB介绍
CouchDB是Apache组织发布的一款NoSQL开源数据库项目,是面向文档类型的Nosql。它由Erlang编写而成,使用JSON格式去保存数据。所谓文档数据库,并不是说它只能存储文本。CouchDB的字段只有三个:文档ID、文档版本号和内容。内容字段可以看到是一个text类型的文本,里面可以随意定义数据,而不用关注数据类型,但数据必须以json的形式表示并存放。CouchDB以RESTful API的格式提供服务,可以很方便地开发各种语言的客户端。
而CouchDB目前的优势在于:它的数据存储格式是JSON,而JSON为广大程序员所熟悉,便于学习,而且CouchDB还可以移值到移动设备上去,当用户不能联网时,可以在客户端保存数据,当能联网时,可以自动把数据同步到各个分布式结点上去;CouchDB还支持分布式结点的精确复制同步,可以在一个庞大的应用中,随意增加分布式的CouchDB结点,以支持数据的均衡。
作为初学者,本文指导在Windows下安装和初步使用CouchDB。因此本文并没有选择以Apache组织下的CouchDB作为介绍,因为该版本的CouchDB比较适合在Linux下进行编译安装,步骤比较复杂,因此本文选择了使用CouchOne
(http://www.couchone.com/)发布的CouchDB服务器社区版本。CouchOne公司今年与同样从事NoSQL产品的Membase公司合拼,推出了CouchBase产品(分为社区免费版和商业版),将结合Membase、Memcached和CouchDB。并实现高性能缓存,弹性集群和数据库功能等技术。而我们发现,couchone的社区版更适合于我们初学者学习。
下载安装CouchDB
首先到http://www.couchone.com/get下载couchbase的服务器版本,选择Couchbase Server的社区版本,如下图:
在下载后,直接点安装文件就会进行自动安装。在安装后,我们要启动Couchbase,启动方法为:
接着,我们通过FireFox浏览器(注意,目前只支持FireFox等浏览器,最好不要用IE),访问http://127.0.0.1:5984/_utils,就可以看到couchdb的控制台页面了,如下所示,为了更好看到couchdb的交互过程,我们可以同时打开Firebug,如下图:
顺便提醒一下,couchdb大量使用了jQuery插件机制,可以通过http://127.0.0.1:5984/_utils/script/jquery.couch.js看到代码的详细情况,有兴趣的可以查阅。
创建数据库用户
couchdb默认的用户都是admin,这其实不大安全,因此我们可以先创建一个数据库用户,我们在页面的右下角会发现如下图描述的有Welcome to Admin Party! Everyone is admin! Fix this的字样,点Fix this,然后在弹出的窗口中,可以输入自己要设置的用户名和密码,保存即可。
同时,couchdb还支持使用jQuery中的$.couch.signup()方法去创建用户,这样,你就可以按照自己的需要去为couchdb去创建用户了,比如增加一些字段属性如email等,还可以设置更详细的couchdb的权限。