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入门的更多相关文章
- Couchbase之个人描述及入门示例
本文不打算抄袭官方或者引用他人对Couchbase的各种描述,仅仅是自己对它的一点理解(错误之处,敬请指出),并附上一个入门示例. ASP.NET Web项目(其他web开发平台也一样)应用规模小的时 ...
- 教你轻轻松松入门PHP
入门PHP不用愁,跟我来学一学. 1.我们想学习PHP,首先就要了解PHP,那PHP是什么呢? PHP("PHP: Hypertext Preprocessor",超文本预处理器的 ...
- Couchbase入门——环境搭建以及HelloWorld
一.引言 NoSQL(Not Only SQL),火了很久了,一直没空研究.最近手上一个项目对Cache有一定的要求,借此机会对NoSQL入门一下.支持NoSQL的数据库系统有很多, 比如Redis ...
- Redis基础入门
学习redis之前,要了解NoSQL.. 一.NoSql概述 由于关系型数据库很难实现: 1.高并发读写 2.海量数据的高校率存储和访问 3.高可扩展性和高可用性 所以出现NoSql,(Not Onl ...
- Prometheus监控学习笔记之Prometheus普罗米修斯监控入门
0x00 概述 视频讲解通过链接网易云课堂·IT技术快速入门学院进入,更多关于Prometheus的文章. Prometheus是最近几年开始流行的一个新兴监控告警工具,特别是kubernetes的流 ...
- Redis学习一:Nosql入门和概述
现在Redis越来越火,为了适应技术的发展,开始学习一下Redis,在学习Redis之前先学习一下Nosql. 第一部分:入门概述 1.1 互联网时代背景下大机遇,为什么用nosql 1.1.1 单机 ...
- Redis(一):NoSQL入门和概述
NoSQL入门和概述目录导航: NoSQL入门概述 3V+3高 当下的NoSQL经典应用 NoSQL数据模型简介 NoSQL数据库的四大分类 在分布式数据库中CAP原理CAP+BASE NoSQL 入 ...
- 【原创】elasticsearch入门
示例 示例一: 示例二: 示例三: 示例四: ES介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Ela ...
- mongoDB 入门手册
MongoDB - 简介 官网:https://www.mongodb.com/ MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储 ...
随机推荐
- 极客技术专题【008期】:CSS3核心技术:选择器
日期:2013-8-19 来源:GBin1.com 技术专题介绍 技术专题:CSS3核心技术:选择器 专题演讲稿:CSS3选择器 分享人:知名前端技术博客 - w3cplus.com 博主 - 大漠 ...
- 如何查看tomcat是32位还是64位
原文地址:http://www.cnblogs.com/andysd/p/3940976.html
- 1513:二进制中1的个数 @jobdu
题目1513:二进制中1的个数 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:1341 解决:455 题目描述: 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 输入: ...
- 使用webview如何做超时判断
在加载网页时给一个timer定时器,规定超时时间,然后再超时时间的方法中提示超时 如果没有超时,则在webview协议中的“加载完成”方法中 取消timer定时器 - (void)openWebVie ...
- Count属性(行数 @)
在PS2.0中,如果返回值为空,则count也会返回空(vm.txt内容为空),如下: (gc d:\vm.txt).count 如果加上@的话,会返回0 @(gc d:\vm.txt).count ...
- Oracle Enterprise Linux 64-bit下安装apache-tomcat-7.0.53步骤
測试环境:VMware Workstation v9.0.2软件中安装好Oracle Enterprise Linux 5.8 64-bit虚拟机 安装软件:jdk-7u40-linux-x64.rp ...
- 一篇不错的关于分析MVC的文章
1 简介 英文原文:MVC vs. MVP vs. MVVM 三者的目的都是分离关注,使得UI更容易变换(从Winform变为Webform),使得UI更容易进行单元测试. 2 MVC/MVP 2.1 ...
- JAVA编程心得-多态设计初步
面向对象的思想中,封装,继承,多态作为特性会在开发中广泛应用,一个健壮的系统除了功能强大以外,它的可扩展性应该也很强,多态恰好应用了这个思路. 下面我以杨小聪去某地的方式为例,我们知道首先杨小聪要去某 ...
- Match+Faq
假如在GameLayer.h中有Card类型的变量,那么在Card.h文件中,不要有GameLayer.h的导入.这样子会导致编译器找不到对Card类型的定义而导致报错.但是,在Card.cpp中可以 ...
- How Network Load Balancing Technology Works--reference
http://technet.microsoft.com/en-us/library/cc756878(v=ws.10).aspx In this section Network Load Balan ...