无意翻到一本新书《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入门的更多相关文章

  1. Couchbase之个人描述及入门示例

    本文不打算抄袭官方或者引用他人对Couchbase的各种描述,仅仅是自己对它的一点理解(错误之处,敬请指出),并附上一个入门示例. ASP.NET Web项目(其他web开发平台也一样)应用规模小的时 ...

  2. 教你轻轻松松入门PHP

    入门PHP不用愁,跟我来学一学. 1.我们想学习PHP,首先就要了解PHP,那PHP是什么呢? PHP("PHP: Hypertext Preprocessor",超文本预处理器的 ...

  3. Couchbase入门——环境搭建以及HelloWorld

    一.引言 NoSQL(Not Only SQL),火了很久了,一直没空研究.最近手上一个项目对Cache有一定的要求,借此机会对NoSQL入门一下.支持NoSQL的数据库系统有很多,  比如Redis ...

  4. Redis基础入门

    学习redis之前,要了解NoSQL.. 一.NoSql概述 由于关系型数据库很难实现: 1.高并发读写 2.海量数据的高校率存储和访问 3.高可扩展性和高可用性 所以出现NoSql,(Not Onl ...

  5. Prometheus监控学习笔记之Prometheus普罗米修斯监控入门

    0x00 概述 视频讲解通过链接网易云课堂·IT技术快速入门学院进入,更多关于Prometheus的文章. Prometheus是最近几年开始流行的一个新兴监控告警工具,特别是kubernetes的流 ...

  6. Redis学习一:Nosql入门和概述

    现在Redis越来越火,为了适应技术的发展,开始学习一下Redis,在学习Redis之前先学习一下Nosql. 第一部分:入门概述 1.1 互联网时代背景下大机遇,为什么用nosql 1.1.1 单机 ...

  7. Redis(一):NoSQL入门和概述

    NoSQL入门和概述目录导航: NoSQL入门概述 3V+3高 当下的NoSQL经典应用 NoSQL数据模型简介 NoSQL数据库的四大分类 在分布式数据库中CAP原理CAP+BASE NoSQL 入 ...

  8. 【原创】elasticsearch入门

    示例 示例一: 示例二: 示例三: 示例四: ES介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Ela ...

  9. mongoDB 入门手册

    MongoDB - 简介 官网:https://www.mongodb.com/ MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储 ...

随机推荐

  1. nyoj 27 水池数目

    水池数目 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地 ...

  2. PHP留言板(实例)

    lyb.htm <div class="lymain"> <script language="JavaScript"> function ...

  3. 一个疑难bug的解决过程

    一个crontab脚本,下载一个文件并把内容入mysql数据库.具体流程如下: 1, wget一个文件. 2,处理文件生成一个中间文件. 3,将中间文件load入库. 05 10 * * * /hom ...

  4. js 类似发微博或者微信朋友圈的时间显示 刚刚 几天前

    群里的一个小伙伴(NightEagle)写的,共享出来了,我就做个记录. function getDateDiff(dateStr) { var publishTime = getDateTimeSt ...

  5. 算法之旅,直奔<algorithm>之十三 fill

    fill(vs2010) 引言 这是我学习总结<algorithm>的第十三篇,fill是一个很好的初始化工具.大学挺好,好好珍惜... 作用 fill  的作用是 给容器里一个指定的范围 ...

  6. 《Spring技术内幕》学习笔记17——Spring HTTP调用器实现远程调用

    1.Spring中,HTTPInvoker(HTTP调用器)是通过基于HTTP协议的分布式远程调用解决方案,和java RMI一样,HTTP调用器也需要使用java的对象序列化机制完成客户端和服务器端 ...

  7. PHP 函数:intval()

    intval   变量转成整数类型. 语法: int intval(mixed var, int [base]); 返回值: 整数 函数种类: PHP 系统功能 内容说明:本函数可将变量转成整数类型. ...

  8. cocos2d-x 开发中的小问题 在xcode4环境下

    转自:http://hi.baidu.com/baby_66_/item/302353174f19521cd0d66df2 1.如果你在想怎么去搞定程序的开始运行的背景一闪而过的大图 以及icon想换 ...

  9. 理解Objective-c中的copy

    说一下深拷贝和浅拷贝的基本概念:a指针指向地址A1, 浅拷贝是创建了一个b指针指向地址A1:深拷贝是创建了一个c指针指向地址A2,A1和A2的地址不同. 我们看到NSObject接口里面是已经声明了c ...

  10. js验证

    验证短日期(2007-06-05) function strDateTime(str) {    var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1 ...