Oracle 的 NoSQL 恶梦 MongoDB

溪边九节
 溪边九节
发布于 2014年04月10日
收藏 30

    Oracle的NoSQL恶梦MongoDB

    (暨MongoDB发布2.6版本之际)

    这次发布描绘出了一个极具前景的公司或将引领未来超过十年的创新。

    By Jack Clark, 8 Apr 2014 

    翻译:无若

    快速崛起的数据库MongoDB已经发布了其2.6版本,它所展现出来的技术,让支持它的公司们宣称这是“下一个十年数据库创新的基础”。

    在周二的时候,MongoDB发布的2.6版本数据库是其NoSQL面向文档数据库的正式发布版。关于这个版本,MongoDB公司在他们的博客上宣称“这是全方位核心服务的提升,并将带来一个开创性的自动化工具以及决定性的企业级特性, MongoDB 2.6是我们有史以来最伟大的一次发布。”

    在进一步深入研究这个版本之前,特别需要指出的是MongoDB当前拥有的数据库全写锁定技术(database-wide write locking),这意味着整个系统在某一时刻仅可以接受一次写操作。这是一个缺点,它意味着如果数据库有很高频的访问时,多个并发的写操作最终是被序列化进行的。MongoDB公司希望在MongoDB 2.8的时候“大幅提升其并发性能”。急切希望获取此项能力的管理员们似乎还需要等上一段时间。

    至于2.6的新特性,MongoDB 2.6主要分为三大类别“操作性,开发体验和企业级适用性”,公司的CTO  Eliot Horowitz在于El Reg的谈话中提到。

    这意味着数据库提供的技术能给人们更好的可操作性,它让查询和写入更快速,让稳定性和安全性更好。

    这些新技术包括插入(insert)和更新(update)性能的提升,为写入操作制定了一个新的规范,一个新的安全认证模型,支持的空间更大,查询操作的改进。

    其中一项强有力的查询特性是“交叉索引(index intersection)”,这个特性意味着,“MongoDB能使用多个索引交叉去实现多查询”,根据先前提供的FAQ,MongoDB以前在多查询时非常受限于单索引。

    MongoDB公司一直在致力于做大量的改变,改进数据库的事务管理。

    这包括在内部部署和云部署上使用“MongoDB 管理服务(MongoDB Management Service)”中的回滚备份(rolling backup)特性。当主机上的这个数据在辅助设备限电的情况下,MongoDB 的副本集(replica sets)和分片集群(sharded clusters)功能将可以发挥作用。当出现问题的时候,这些特性将通过一个“自动化的”管理控制台帮助人们执行和监视MongoDB的集合(sets)和集群(clusters)。

这些特性在人们的感性认知上可能会觉得MongoDB的设计师把问题“复杂化”和“碎片化”,Horowitz说道。

许多经验丰富的DBA们可能会嘲笑这些新的特性,这些东西在传统的关系型数据库中已经很久很久了,但是请你们记住这是一个MongoDB/NoSQL技术的基础,这不同于传统的数据库系统。典型的数据库使用行/列形式存储数据,然而MongoDB把数据存储在内嵌的JSON对象中。

    这给了数据库充分的灵活性和易用性,并且解决了许多存在已久的性能瓶颈和管理上的困境。

    如果Oracle计划制定“NoSQL标准组织”成为现实,当MongoDB发现的自己的将来就是Oracle过去的辉煌时,那么这里仅仅是像星星之火那样想象一下。

(英文原文:http://www.theregister.co.uk/2014/04/08/mongodb_major_release/

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Oracle 的 NoSQL 恶梦 MongoDB
加载中

最新评论(40

张寒枫
张寒枫

呵呵

kakad
kakad

看看TokuMX吧

vivid
vivid

引用来自“clouddyy”的评论

还不行,我觉得

引用来自“vivid”的评论

请用过之后再评价行不行。

PS: 我们现在的mongodb库,3+亿数据。运行在单台刀片机上。系统运行相对稳定。

引用来自“都市网达”的评论

3亿数据,有多少大啊,几百个G???

引用来自“vivid”的评论

几百G的数据

引用来自“宝仔love”的评论

几百?说清楚撒。。1百也是百 9百也是百

不知道怎么发截图,放到网盘上了。自己数数看吧。


http://a.hiphotos.bdimg.com/album/s%3D550%3Bq%3D90%3Bc%3Dxiangce%2C100%2C100/sign=9b5918f10b23dd542573a76de132c2e3/48540923dd54564ec21280acb1de9c82d1584f2b.jpg?referer=175ae8b7cafcc3ceedd7fd03a9e9&x=.jpg

vivid
vivid

引用来自“clouddyy”的评论

还不行,我觉得

引用来自“vivid”的评论

请用过之后再评价行不行。

PS: 我们现在的mongodb库,3+亿数据。运行在单台刀片机上。系统运行相对稳定。

引用来自“都市网达”的评论

3亿数据,有多少大啊,几百个G???

引用来自“vivid”的评论

几百G的数据

引用来自“宝仔love”的评论

几百?说清楚撒。。1百也是百 9百也是百

<img src="http://static.oschina.net/uploads/space/2014/0415/094108_xrF5_155424.png" alt="" />

Jarry_liu
Jarry_liu

可以实验

pyruby
pyruby

引用来自“clouddyy”的评论

还不行,我觉得

引用来自“vivid”的评论

请用过之后再评价行不行。

PS: 我们现在的mongodb库,3+亿数据。运行在单台刀片机上。系统运行相对稳定。

引用来自“都市网达”的评论

3亿数据,有多少大啊,几百个G???

引用来自“vivid”的评论

几百G的数据

几百?说清楚撒。。1百也是百 9百也是百

liujiduo
liujiduo

支持!!!

都市网达
都市网达

引用来自“sunday12345”的评论

我用MongoDB差不多半年左右,也不是天天用吧,反正该用的时候就用下,不过后来换了。

用MongoDB的为了啥?
1、自由的schema?我始终觉得仔细斟酌过的数据结构才是王道,而且文档型数据结构并不能代表所有的业务场景,多对多时MongoDB产生的冗余,很让人头疼。
2、速度?最简单的主键查询当然快,MySQL的索引组织表也很快,MongoDB用用复杂查询试试~个人感觉也快不到哪儿去,反倒是思维方式要从头来过,查询语句得再学一套,Json的书写方式也有点蛋痛;
3、水平扩展?好多人。。。依然单节点使用,评论中的几百G的也没说清楚是怎么用,我没玩过他的水平扩展,因为单节点用了一阵子实在废柴,于是换之;
4、MapReduce?这个实话说很有前景的领域,可惜了,大多数人是用来做OLTP的~;
5、GridFS?这玩意儿是个半成品吧。
6、。。。其他?

我们一开始选择mongo,后来发现太坑了,就换Hbase了,所以我很反感。

sunday12345
sunday12345

另外,不支持事务,电商们,支付们,以及大多数与Money有关的们,88啦~

返回顶部
顶部