日期:2014-05-16  浏览次数:20626 次

Mongo和Couch对比
原文 http://www.jdon.com/jivejdon/thread/36771

banq



发表文章: 11350
注册时间: 2002年08月03日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言 81人关注

Mongo和Couch对比 2009年08月10日 17:43 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
标签 数据库      架构比较      NoSQL    
顶一下
Mongo和Couch是终极关系数据库的两个杀手。

在mongodb.org有一篇文章提出两者比较和如何使用。
1.如果正在建立类似Lotuc notes应用,数据会暂时离线几个小时,然后再上线,这种模式适合Couch,和Couch的MVCC模式(Multiversion concurrency control)完全符合。

2.如果我们需要一个master-master一直的可替换的数据库,物理上分布式的,经常离线的,使用Couch

3.如果有高性能要求,使用Mongo,比如缓存等。

4.如果应用需要非常关键的事务支持,比如金融交易等,就不要使用MongoDB,还是使用传统的关系数据库。

5.如果有非常高的更新率,使用Mongo。

个人意见:Mongo倒是非常类似内存产品Terracotta,Terracotta比memcache更加适合频繁更新,而且使用Terracotta可以和传统数据库友协调。

原文:
http://www.mongodb.org/display/DOCS/Comparing+Mongo+DB+and+Couch+DB
[该贴被admin于2009-08-10 17:55修改过]
banq



发表文章: 11350
注册时间: 2002年08月03日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言 81人关注

回复:Mongo和Couch对比 2009年08月10日 17:45 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
顶一下
很著名的一篇NoSQL: If Only It Was That Easy
没有SQL,如果仅仅是这么简单.
http://bjclark.me/2009/08/04/nosql-if-only-it-was-that-easy/

网址被大陆查封屏蔽,转贴英文如下:
The biggest thing in web apps since “rails can’t scale” is this idea that “your rdbms doesn’t scale.”(在Web最大的事情就是Rails并不具有伸缩性,因为Rails是依赖数据库的,而数据库是不可伸缩性, 这句话我个人好像以前也说过). This has gone so far as to be dubbed the coming of age for “nosql” with lots of blog posts and even a meetup.(未来被称为无数据库时代) Indeed, there are many promising key-value stores, distributed key-value stores, document oriented dbs, and column oriented db projects on the radar( 由此诞生了很多key-value存储模式,个人推荐的缓存也是一种key-value存储模式, key-value存储模式是可伸缩的). This is *definitely* a great thing for the web application scene and this level of variety will definitely open doors for organizations large and small in the near and long term.

However, along with these great tools, an attitude that “the rdbms is dead” has popped up, and while that may be true in the long run, in the short term, it’s definitely premature.(随着这些伟大的工具推出和应用,一种观点说, “关系型数据库管理系统已经死了”,而这也许是真实的,从长远来看,在短期内,这肯定为时过早。)

(下面就不翻译了,大家用google翻译自己将就做着理解,意思关系数据库和新型key-value存储模式可能同时并存)
What is scaling?
First, lets get a couple things straight:

to scale (third-person singular simple present scales, present participle scaling, simple past and past participle scaled)

(transitive) To change the size of, maintaining proportion.
We should scale that up by a factor of 10.
(transitive) To climb.
Hilary and Norgay were the first known to have scaled Everest.
(intransitive) (computing) To tolerate significant increases in throughput or other potentially limiting factors.
That architecture won’t scale to real-world environments.
The first thing we need to agree on is what it means to scale. According to our definitions above, it’s to change the size while maintaining proportions and in CS this usually means to increase throughput. What scaling isn’t: performance.

performance (plural performances)The act of performing; carrying into execution or action; execution; achievement; accomplishment; representation by action; as, the performance of an undertaking of a duty.In Computer science: The amount of useful work accomplished by a computer system compared to the time and resources used. Better Performance means more work accomplished in shorter time and/or using less resources

[该贴被admin于2009-08-10 17:54修改过]
banq



发表文章: 11350
注册时间: 2002年08月03日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言 81人关注

回复: 回复:Mongo和Couch对比 2009年08月10日 17:47 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
顶一下
In reality, s