这不算是一篇PK文章,当然对于任意一个产品,没有绝对的主场,所以文章内容更多是从各个方面的对比。本文来自boxedice的技术博客,在写此文时他们已经在Server Density中使用MongoDB两年多时间了。全文分为两部分,技术方面和市场运作方面。
创新互联主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、响应式网站、程序开发、网站优化、微网站、小程序制作等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的做网站、成都做网站、网站设计、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体。
技术方面
1.数据结构
MongoDB使用文档型存储,其数据结构为与JSON类似的BSON结构,而Cassandra支持的是key-value式存储,而每个key-value还会保存一个时间戳,这个时间戳实际上起到了版本控制的作用。
2.索引结构
MongoDB的索引几乎与关系型数据库完全一样,其普通索引、联合索引、唯一索引的意义和实现上都可以参考对MySQL索引的理解。而 Cassandra由于其是一个key-value结构的存储,如果你要对value进行条件查找,那么就必须建立反向索引,重新建立一个value- key的键值对。
3.部署
MongoDB提供了Replica Sets的高可用部署方式,配置好RS的节点后,整个集群会自动选举出Primary机器供写入操作,并自动复制数据到其它节点。它还具有故障后自动选举 新的主机的机制。而Cassandra提供的策略更为灵活,它通过一种对网络结构可感知的机制,它让你可以配置数据是备份在本地网络中的其它节点还是备份 到远端的数据中心。
#p#
市场动作
1.商业支持
Cassandra和MongoDB都是开源产品,不同的是Cassandra是完全自由地在Apache孵化器中进行发展。而MongoDB是由商业公司10gen在背后支持,绝大部分的MongoDB贡献者都来自10gen。
2.技术支持
对 MongoDB来说,最好的技术支持肯定来源于10gen,因为MongoDB是他们开发的,所以他们应该最了解。在10gen的网站上,你可以看到相关的支持支持联系方式。而Cassandra也有一些第三方的机制提供技术支持服务,这些机构基本上都有一些Cassandra的核心开发者在其中,以保证其对Cassandra能有足够的了解。
3.发展状态
MongoDB在10gen的带领下一直稳步而快速地进行着 BUG修复和新功能增加,比如他们会举行新功能投票来让你参与MongoDB发展中来。另外值得一提的是10gen对社区的关注热情很高,对于使用用户的需求了解非常充分。相对来说Cassandra在这方面就相对混乱一些,与10gen的全职开发工程师不同,Cassandra更多的是自发的开源项目参与者,像Eric Evans这样的全职开发者非常之少。
4.技术文档
Cassandra的官方文档并不太好,相对好一些的是Datastax自己上面的一个版本。但还是缺乏一个完整详尽的介绍。而MongoDB的文档相对来说比较完整而成体系。在其官方网站上你就能看到结构明了的文档了,而且多语言版本也都在跟进翻译中。
5.社区活动
这方面MongoDB做得非常出色,几乎可以用技术营销经典案例来形容。在去年一年,MongoDB相关的会议就举行了40场。相信在国内的很多朋友还记得在北京举行的Mongo Beijing。而Cassandra的活动更多的是自发进行的。
[[38351]]
6.第三方客户端
这也是boxedice选择MongoDB的另一个原因,MongoDB拥有非常广泛的客户端支持,几乎所有流行语言都有其操作客户端。而且这些客户端几乎都是由10gen官方开发并维护的。而Cassandra仅有Java和Python的官方客户端,剩下的都是一些自发的第三方客户端。
【编辑推荐】
分享文章:NoSQL数据库对比:MongoDBvs.Cassandra
转载源于:http://www.shufengxianlan.com/qtweb/news10/112160.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联