MongoDB学习(一)——NoSQL简介

    xiaoxiao2021-03-26  21

      NoSQL的CAP原理:又称作布鲁尔定理,它指出对于一个分布式计算系统来说不能同时满足一下三点:

    一致性(Consistency) (所有节点在同一时间具有相同的数据)

    可用性(Availability) (保证每个请求不管成功或者失败都有响应)

    分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)

    CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。(理解CAP点我)

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

    CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。

    CP - 满足一致性,分区容忍性的系统,通常性能不是特别高。

    AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。

    BASE

    ACID

    BASE

    原子性(Atomicity)

    基本可用(Basically Available)

    一致性(Consistency)

    软状态/柔性事务(Soft state)

    隔离性(Isolation)

    最终一致性 (Eventual consistency)

    持久性 (Durable)

     

    我个人认为软状态和柔性事务是对于SQL的一致性来说的,BASE保证了最终状态的一致性,他可能在某段时间内没有一致性,但是最终还是会保持一致的。即用户看到的东西都是一致的。

    为什么发展了NoSQL

    1、数据库高并发读写的需求:每秒上万次的并发负载非常高。鹰牌针对上万次SQL的写数据要求。IO无法承受

    2、海量数据的高效率存储和访问的需求:SNS网站,对2.5亿条记录的表里面进行SQL查询,难以忍受

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

    4、对于有些Web应用来说,不需要较高的实时性

    5、不需要级联查询,更多的是单表查询

    针对Nosql的发展,就开始学习MongoDB了。

    转载请注明原文地址: https://ju.6miu.com/read-659813.html

    最新回复(0)