couchDB入门

无意翻到一本新书《CouchDB权威指南》

发现这就是传说中的NoSQL,看排第一的是mangodb,redis有些人说是,有些人说不是。

CouchDB的开发很天才,直接可以通过javascript来操作数据库。

这本书讲得很详细,附上这本书的英文电子版本:在线阅读

这个数据库算是一个现代化的软件,里面各种理念都很新颖,就算是当作一个玩具,也是一个很好的体验。

学会使用了curl的很多好用的功能。能理解很多http头的意义。并且CouchDB利用http文件头的信息来描述状态,做得很好,就是出现问题的时候,有些问题描述的不是很清晰。

特别是在大型网站架构这方面,做了很多的优化,不至于在这个数据库上面出现性能和安全的瓶颈。

用户体验也挺好的,就是它自带的sofa博客好像每次我加一篇文章,就会出现问题。

数据库架构:

内置服务器,数据库通讯主要是json。

每个数据库下面的不是表,而是文档(document),文档下面用的是json格式存储。

图片声音视频用的是这些媒体的meta信息,调用是需要访问特定的路径就好了。

当然底层还是使用的是b-tree的变体。

容易做备份,主从,复制,等各种负载和安全的措施。

在哈希一致性上做了很多的措施,几乎保证了不出现相同的数据id。

当然在效率上也做了优化,每次改动数据库的内容,数据库的索引只改变新增的,所以只有第一次查询费时多一些。

使用了MapReduce概念,可以很好的在hadoop上面运行。

问题:

出现的一个典型的问题是开启之后访问不了这个数据库,是因为在Centos下,这个软件和ruby的sinatra一样,绑定的是127.0.0.1,而不是localhost,或者::1,所以只能内部访问。可以修改配置文件/etc/couchdb/local.ini,把里面的ip地址127.0.0.1改为0.0.0.0即可。

CouchDB 官网

couchDB入门,布布扣,bubuko.com

时间: 2024-08-09 22:01:22

couchDB入门的相关文章

Apache CouchDB安装及入门  

1. 从Apache CouchDB官网下载最新的版本,目前最新版本为1.6.1. 2. 运行"setup-couchdb-1.6.1_R16B02.exe"文件,并将couchdb设置为Windows服务,这样就不用每次都启动服务. 3. 在浏览器中运行"http://127.0.0.1:5984",出现下面的内容说明安装成功. {"couchdb":"Welcome","uuid":"4f58

数据库入门理论知识介绍

数据库入门理论知识介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 前言: 1.目前90%以上的公司面临的运维的瓶颈都在后端 最常见的2大瓶颈就是: 1>.数据库(极难扩展): 2>.存储: 所以说做互联网的运维工程师要是把以上两点问题解决就可以轻松的搞定整个架构 2.什么是数据库: 查百度上有长篇大论了一下数据库特点,我们可以简单的理解: 数据库就是一个存放数据的仓库,这个仓库按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数

Celery 快速入门

Celery 快速入门 任务队列 任务队列用于分发工作给不同线程或机器. Celery通过消息传递 支持多个workers和brokers.提供高可用和水平扩展性. 用Python写的 优点 简单 高可用 快 易扩展 支持 Brokers RabbitMQ, Redis MongoDB, ZeroMQ CouchDB, SQLAlchemy Django ORM, Amazon SQS, ... Result Stores AMQP, Redis memcached, MongoDB SQLAl

1.NoSQL入门和概述

入门概述: 1.为什么要用到NoSQL a)  单机MySQL的美好年代,在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付.在那个时候,更多的都是静态网页,动态交互类型的网站不多. 上述架构下,我们来看看数据存储的瓶颈是什么? 1.数据量的总大小 一个机器放不下时 2.数据的索引(B+ Tree)一个机器的内存放不下时 3.访问量(读写混合)一个实例不能承受  如果满足了上述1 or 3个,进化...... b)  Memcached(缓存)+MySQL+垂直拆分,后来,随着

[转]程序员入门之路

前言 你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发) 建议: 不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用. 回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样. 一定要动手,例子不管多么简单,建议至少自己手敲一遍看看是否理解了里头的细枝末节. 一定要学会思考,思考为什么要这样,

NoSQL入门

SQL入门:      在说NoSQL之前先看看sql的发展,数据库的发展经过了无库时代,层次状数据库,网状数据库,关系性数据库,NoSQL数据库.      刚开始数据是直接写入到程序中,并没有数据库的概念,随着数据量的增长,开始出现层次状数据库,程序通过树形结构访问数据,在这种结构下父记录同时拥有多个子记录,但子记录只有一个父记录,造成的问题是一旦数据增多,数据量增大,会出现数据冗余的状况:   之后针对这种冗余出现了网状数据库,同层次数据库一致,对于数据结构有很强的依赖性,不理解数据结构无

Couchbase之个人描述及入门示例

本文不打算抄袭官方或者引用他人对Couchbase的各种描述,仅仅是自己对它的一点理解(错误之处,敬请指出),并附上一个入门示例. ASP.NET Web项目(其他web开发平台也一样)应用规模小的时候,可以利用.net framework自带的缓存机制进行缓存,可是,当项目应用规模大了后,再这样万年不变的应用下去,恐怕难以取得良好效果.而C#本身是应用级开发语言,其擅长的是业务逻辑开发,而缓存这种与具体业务紧密程度不大的系统,用C#开发,显然不具有跨平台性,没有普适性,而且C#对缓存也基本停留

CouchDB用起来可能不是很舒服

最近我花了一个星期研究NoSQL,我有一个400万记录的MySQL速度比较慢,准备迁移到NoSQL上,因为主要是一些JSON格式的文档,本来序列化存在MySQL中的,因为看上了Erlang这个号称非常牛X的平台,挑中了CouchDB,但导入40万有效测试数据,在本地运行的时候,发现速度特别慢(本地机器为2011年的iMac,配备16G内存,根本不弱的),而且查询功能很弱,可能还没到成熟的时候. CouchDB特点: 面向文档数据库,不需要范式,直接存储JSON就可以,CouchDB默认会生成 _

Redis学习一:Nosql入门和概述

现在Redis越来越火,为了适应技术的发展,开始学习一下Redis,在学习Redis之前先学习一下Nosql. 第一部分:入门概述 1.1 互联网时代背景下大机遇,为什么用nosql 1.1.1 单机Mysql的美好年代(好几年前) 当时的业务很相对简单,就是JSP--->Action---->Service---->DAO----->数据库,数据库也就是一个实例而已,无论是Mysql还是Oracle.把这五层缩减为三层的话便是:应用层------>DAO层------>