关于NoSQL之MongoDB的一些总结

 更新时间:2015年07月19日 10:02:27   投稿:hebedich  
这篇文章主要介绍了关于NoSQL之MongoDB的一些总结的相关资料,需要的朋友可以参考下

NoSQL已经流行了很长一段时间,那么究竟是什么场景下你才更需要用到这些“新兴事物”,就比如MongoDB?下面是一些总结:

你期望一个更高的写负载

默认情况下,对比事务安全,MongoDB更关注高的插入速度。如果你需要加载大量低价值的业务数据,那么MongoDB将很适合你的用例。但是必须避免在要求高事务安全的情景下使用MongoDB,比如一个1000万美元的交易。

不可靠环境保证高可用性

设置副本集(主-从服务器设置)不仅方便而且很快,此外,使用MongoDB还可以快速、安全及自动化的实现节点(或数据中心)故障转移。

未来会有一个很大的规模

数据库扩展是非常有挑战性的,当单表格大小达到5-10GB时,MySQL表格性能会毫无疑问的降低。如果你需要分片并且分割你的数据库,MongoDB将很容易实现这一点。

使用基于位置的数据查询

MongoDB支持二维空间索引,因此可以快速及精确的从指定位置获取数据。

非结构化数据的爆发增长

给RDBMS增加列在有些情况下可能锁定整个数据库,或者增加负载从而导致性能下降,这个问题通常发生在表格大于1GB(更是下文提到BillRun系统中的痛点——单表格动辄几GB)的情况下。鉴于MongoDB的弱数据结构模式,添加1个新字段不会对旧表格有任何影响,整个过程会非常快速;因此,在应用程序发生改变时,你不需要专门的1个DBA去修改数据库模式。

缺少专业的数据库管理员

如果你没有专业的DBA,同时你也不需要结构化你的数据及做join查询,MongoDB将会是你的首选。MongoDB非常适合类的持久化,类可以被序列化成JSON并储存在MongoDB。需要注意的是,如果期望获得一个更大的规模,你必须要了解一些最佳实践来避免走入误区。

BillRun——使用MongoDB的账单系统|2014年2月MUG IL(来自oc666)现实用例学习:账单

在上一次的ILMUG上,Ofer Cohen提出了BillRun,一个下一代基于MongoDB的开源账单解决方案。这个账单系统已被增速最快的以色列移动电话运营商采用,每月处理超过5亿的CDR(通讯记录),Ofer分享了该系统如何利用MongoDB的优势:

PPT请访问Slide Share

弱数据结构模式允许系统快速引入新的CDR类型,BillRun负责托管所有的数据。BillRun系统已经管理了TB级的表格,I/O性能受限于新字段的增加及数据体积的增长。快速副本集允许更简单地设置多数据中心DRP和HA方案。分片允许I/O超预算时的线性横向扩展。在CDR插入达到2000个每秒时,MongoDB非常适用于高写入系统。同时,你完全可以使用findAndModify(会影响性能)以及2阶段提交(应用程序级别)来解决事务问题。面向开发者的查询允许优雅查询的编写。基于位置允许更好的分析用户使用情况,从而更好地制定移动电话基础设施的投入点。

总结

MongoDB是个非常不错的工具,但是只有在适合的场景下才能爆发出压倒性优势,BillRun就是一个不错的用例。

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

  • Ubuntu系统中安装MongoDB及其启动命令mongod的教程

    Ubuntu系统中安装MongoDB及其启动命令mongod的教程

    这篇文章主要介绍了Ubuntu系统中安装MongoDB及其启动命令mongod的教程,包括设置MongoDB开机启动的脚本示例,非常推荐,需要的朋友可以参考下
    2016-01-01
  • mongodb replica set 配置高性能多服务器详解

    mongodb replica set 配置高性能多服务器详解

    mongodb的多服务器配置,以前写过一篇文章,是master-slave模式的,master-slave模式,不能自动实现故障转移和恢复。所以推荐大家使用mongodb的replica set,来实现多服务器的高性能。
    2014-07-07
  • MongoDB中优雅删除大量数据的三种方式

    MongoDB中优雅删除大量数据的三种方式

    最近接到一个任务,线上的mongodb积累了大量的无用数据,导致宕机,现在对里面的数据进行批量删除,所以这篇文章主要给大家介绍了关于MongoDB中优雅删除大量数据的三种方式,需要的朋友可以参考下
    2021-10-10
  • MongoDB入门教程之C#驱动操作实例

    MongoDB入门教程之C#驱动操作实例

    这篇文章主要介绍了MongoDB入门教程之C#驱动操作实例,即C#中操作MongoDB数据的方法和代码示例,需要的朋友可以参考下
    2014-08-08
  • MongoDB数据库中索引和explain的使用教程

    MongoDB数据库中索引和explain的使用教程

    这篇文章主要给大家介绍了关于MongoDB数据库中索引和explain使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Mongodb具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-08-08
  • MongoDB数据库基本概念解析

    MongoDB数据库基本概念解析

    这篇文章介绍了MongoDB数据库的一些基本概念,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • 基于MongoDB数据库的数据类型和$type操作符详解

    基于MongoDB数据库的数据类型和$type操作符详解

    下面小编就为大家带来一篇基于MongoDB数据库的数据类型和$type操作符详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • CentOS 6.5 x64系统中安装MongoDB 2.6.0二进制发行版教程

    CentOS 6.5 x64系统中安装MongoDB 2.6.0二进制发行版教程

    这篇文章主要介绍了CentOS 6.5 x64系统中安装MongoDB 2.6.0二进制发行版教程,本文分为6个步骤完成MongoDB的安装和启动,需要的朋友可以参考下
    2015-01-01
  • MongoDB创建和查询视图的方式

    MongoDB创建和查询视图的方式

    本文整理mongodb的官方文档,介绍mongodb的视图创建和查询,在Mongodb中,允许使用两种方式来创建视图,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2023-12-12
  • Mongodb文档和数组的通配符索引应用小结

    Mongodb文档和数组的通配符索引应用小结

    Mongodb的通配符索引,为灵活可变的Mongodb数据结构提供了高效的查询方法,本文结合Mongodb官方文档,详细介绍在嵌入式文档和数组上,通配符索引的结构,感兴趣的朋友一起看看吧
    2024-07-07

最新评论