设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 创业者 手机
当前位置: 首页 > 教程 > 正文

NoSQL技术:MongoDB和Riak的理性对比

发布时间:2017-01-08 10:30 所属栏目:61 来源:下北系
导读:目前在网上关于NoSQL的讨论依旧火热,不同的观点往往能够碰撞出激情的火花。前不久一条关于MongoDB的帖子让10gen的老大都亲自站出来澄清事实,虽然最终证实该帖子是一个恶作剧,但是网上围绕MongoDB的争论却逐渐多了起来。最近看到一篇关于MongoDB与Riak 的对

  【技术】目前在网上关于NoSQL的讨论依旧火热,不同的观点往往能够碰撞出激情的火花。前不久一条关于MongoDB的帖子让10gen的老大都亲自站出来澄清事实,虽然最终证实该帖子是一个恶作剧,但是网上围绕MongoDB的争论却逐渐多了起来。最近看到一篇关于MongoDB与Riak 的对比文章,比之前的文章写得更具建设性,没有太多的技术细节。作者是来自Basho(Riak的公司)的Sean Cribbs。我想这样的文章对于NoSQL技术爱好者来说也应该值得一看,文章节选如下:

  许多人习惯将MongoDB和Riak作为竞争对手。但在现实中,两款产品却没有什么共同之处。那么为什么要将它们俩放在一起讨论呢?我个人觉得这是因为MongoDB和Riak的目标用户群是一样的,都是Web应用开发人员。所以我们在这里来看一下这两款产品究竟有那些不同,一方面让大家更加了解相关的技术,另一方面也希望能够缓和目前关于MongoDB和Riak的争论。

  如果有人问我为什么要使用MongoDB的话,我认为主要有两点:

  ①MongoDB很快。尽管用户对于持久性以及全局写锁颇有微词,这是设计的原因无法解决。但是MongoDB的读写延迟都是非常低的,为什么?因为它们大部分是在内存中完成(通过mmap)。

  ②MongoDB的开发者API非常友好。我认为这是最大的优势。尽管在投入到生产环境中之前,开发者还要考虑很多,但是他们喜欢轻结构的文档。

  相反地,Riak的长处可能对于运维人员来说更具吸引力,或者有相关经验的开发人员:

  ①Riak在核心进行分布和复制,没有特别的节点或者服务运行进行横向扩展,启动并连接的每一个节点在整个集群中所起的作用都是一样的。

  ②在面对故障情况下,Riak更专注于可用性和持久性。它为了保证写负载的可用性,甚至会牺牲raw speed和一致性,确保你的数据写道硬盘中。

  这些差别是MongoDB和Riak的设计所决定的。因为MongoDB的设计专注于提供一个单一系统数据库,而其他元素势必会复杂一些,比如sharding和replica sets等。而Riak的设计则专注于分布式容错以及可靠性,它势必会牺牲掉原始单系统的性能。当然,这也并不是说MongoDB不能够很好地scale out 到大型集群,或者Riak在生产环境中的性能很差。Riak就是针对特殊的应用来进行设计,如果这些牺牲在能够接受的范围之内,那么Riak也是非常不错的选择。

  原文地址:http://club.techtarget.com.cn/space/viewspacepost.aspx?postid=5490

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读