• 在线客服

  • 扫描二维码
    下载博学谷APP

  • 扫描二维码
    关注博学谷微信公众号

  • 意见反馈

原创 面向文档的数据库系统MongoDB详解

发布时间:2019-07-12 16:18:59 浏览 7989 来源:博学谷资讯 作者:三省

      面向文档的数据库系统MongoDB详解,MongoDB是一个面向文档的数据库系统。使用C++编写,不支持SQL,但有自己功能强大的查询语法。

     

    数据库系统MongoDB
      MongoDB使用BSON作为数据存储和传输的格式。BSON是一种类似JSON的二进制序列化文档,支持嵌套对象和数组。


      一、MongoDB很像MySQL,document对应MySQL的row,collection对应MySQL的table应用场景:


      1、网站数据:

     

          mongo非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。


      2、缓存:

     

          由于性能很高,mongo也适合作为信息基础设施的缓存层。在系统重启之后,由mongo搭建的持久化缓存可以避免下层的数据源过载。


      3、大尺寸、低价值的数据:

     

    使用传统的关系数据库存储一些数据时可能会比较贵,在此之前,很多程序员往往会选择传统的文件进行存储。


      4、高伸缩性的场景:

     

    mongo非常适合由数十或者数百台服务器组成的数据库。


      5、用于对象及JSON数据的存储:

     

    mongo的BSON数据格式非常适合文档格式化的存储及查询。


      6、重要数据:

     

    mysql,一般数据:mongodb,临时数据:memcache对于关系数据表而言,mongodb是提供了一个更快速的视图view;而对于PHP程序而言,mongodb可以作为一个持久化的数组来使用,并且这个持久化的数组还可以支持排序、条件、限制等功能。


      二、将mongodb代替mysql的部分功能,主要一个思考点就是:把mongodb当作mysql的一个view(视图),view是将表数据整合成业务数据的关键。比如说对原始数据进行报表,那么就要先把原始数据统计后生成view,在对view进行查询和报表。不适合的场景:


      1、高度事物性的系统:例如银行或会计系统。传统的关系型数据库目前还是更适用于需要大量原子性复杂事务的应用程序。


      2、传统的商业智能应用:针对特定问题的BI数据库会对产生高度优化的查询方式。对于此类应用,数据仓库可能是更合适的选择。


      3、需要SQL的问题


      4、重要数据,关系数据


      优点:
      1)弱一致性(最终一致),更能保证用户的访问速度
      2)文档结构的存储方式,能够更便捷的获取数
      3)内置GridFS,高效存储二进制大对象(比如照片和视频)
      4)支持复制集、主备、互为主备、自动分片等特性
      5)动态查询
      6)全索引支持,扩展到内部对象和内嵌数组


      缺点:

      1)不支持事务
      2)MongoDB占用空间过大,维护工具不够成熟

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 数据库基本操作命令有哪些? 下一篇: Python爬虫框架有哪些?

相关推荐 更多

热门文章

  • 前端是什么
  • 前端开发的工作职责
  • 前端开发需要会什么?先掌握这三大核心关键技术
  • 前端开发的工作方向有哪些?
  • 简历加分-4步写出HR想要的简历
  • 程序员如何突击面试?两大招带你拿下面试官
  • 程序员面试技巧
  • 架构师的厉害之处竟然是这……
  • 架构师书籍推荐
  • 懂了这些,才能成为架构师
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码