请通过浏览器功能收藏网页

MongoDB的简介及相关设计理论知识 mongodb

发布时间:2018-08-29 08:43:32  作者:本站编辑  来源:本站原创  浏览次数:
我有话说 | 分享 |
www.javainfo.com.cn 上干货 欢迎收藏

MongoDB是一个使用C++编写的、开源的、面向文档的NoSQL(Not Only SQL)数据库,也是当前最热门的NoSql数据库之一。

符合CAP理论的AP的一种实现

CAP——AP BASE 理论(Basically Available,Soft-state,Eventual consistency ) 

     1:基本可用(Basically Available):系统能够基本运行、一直提供服务。 

     2:软状态(Soft-state):系统不要求一直保持强一致状态。  

     3:最终一致性(Eventual consistency):系统需要在某一时刻后达到一致性要求


特点:

    高性能、易于使用、易于扩展、功能丰富

    面向集合存储,模式自由

    支持动态查询,支持javascript表达式查询

    支持索引

    支持副本集复制和自动故障恢复

    自动处理分片

    支持二进制和大型对象数据

    文件存储格式为BSON(JSON的一种扩展)


MongoDB是NOSQL框架的实现解决方案, 我们了解一下扩展资料信息:

NoSQL的意思是“不仅仅是SQL”,是目前流行的“非关系型数据库”的统称。常见的NoSQL数据库如:Redis、MongoDB


noSQL 就是为了解决在web2.0时代,出现的三高要求:

1:对数据库高并发读写的需求

2:对海量数据的高效率存储和访问的需求

3:对数据库的高可扩展性和高可用性的需求

而RDB(关系型数据库,及我们通常熟悉的mysql,oracle等)里面的一些特性,在web2.0里面变得不那么重要

1:数据库事务一致性

2:数据库的实时读写

3:复杂的SQL查询,特别是多表关联查询


NoSQL的优点

扩展简单方便,尤其是水平横向扩展  (纵向扩展是指用更强的机器;横向扩展是指把数据分散到多个机器) 

 读写快速高效,多数都会映射到内存操作 

 成本低廉,用普通机器,

分布式集群即可 

 数据模型灵活,没有固定的数据模型 


CAP定理, 又被称作布鲁尔定理(Eric Brewer)  它指出对于一个分布式计算系统来说,不可能同时满足以下三点:

1:强一致性(Consistency):系统在执行过某项操作后仍然处于一致的,在分布式系统中,更新操作执行成功后所有的用户都应该读取到最新的值,这样的系统被认为具有强一致性

2:可用性(Availability):每一个操作总是能够在一定的时间内返回结果

3:分区容错性(Partition tolerance):系统在存在网络分区的情况下仍然可以接受请求并处  理,这里网络分区是指由于某种原因网络被分成若干个孤立区域,而区域之间互不相通

根据CAP原理将数据库分成了满足CA原则、满足CP原则和满足AP原则三大类: 

     1:CA:单点集群,满足一致性,可用性,通常在可扩展性上不太强大,比如RDB(关系数据库)

     2:CP:满足一致性和分区容错性,通常性能不是特别高,如分布式数据库 

     3:AP:满足可用性和分区容错性,通常可能对一致性要求低一些,如大多数的NoSQL 


如有疑问 请留言 欢迎提供建议
  • 0

    开心

  • 0

    板砖

  • 0

    感动

  • 0

    有用

  • 0

    疑问

  • 0

    难过

  • 0

    无聊

  • 0

    震惊

评论已有 0