当前位置: 首页 > 图灵资讯 > 图灵百科> 【图灵百科】数据库系统MongoDB详解

【图灵百科】数据库系统MongoDB详解

来源:图灵教育
时间:2022-01-20 13:23:55

  以文件为导向的数据库系统MongoDB详细描述了一个面向文档的数据库系统。用C++编写,不支持SQL,但是有自己强大的查询语法。

MongoDB数据库系统。

  MongoDB将BSON用作数据存储和传输格式。BSON是一个类似于JSON的二进制序列化文档,它支持嵌套对象和数组。

  1.MongoDB与MySQL非常相似,文档对应MySQL的row,collection对应MySQL的表应用场景:

  1.网址数据:

  mongo非常适合实时插入、更新和查询,以及复制和对网站实时数据存储的要求,以及高度的扩展。

  2.Cache:

  mongo还可以用来作为信息基础设施的高速缓存层。当系统重新启动后,mongo构建的持久缓存就能避免底层数据源超载。

  3.大号.低价值数据:

  用传统的关系数据库存储某些数据可能会更加昂贵,以前,许多程序员倾向于选择传统的文件来存储。

  4.高扩展性情形:

  mongo对于包含几十个或几百个服务器的数据库来说是完美的。

  5.对象存储和JSON数据:

  mongo的BSON数据格式很适合进行文档格式化存储和查询。

  6.关键数据:

  mysql,通用数据:mongodb,临时数据:memcache对于关系数据表来说,mongodb是一种更快的视图视图;对于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占用了太多的空间,维护工具不完善。