zoukankan      html  css  js  c++  java
  • CAP理论下对比ACID模型与BASE模型

    CAP介绍

    Consistency(一致性), 数据一致更新,所有数据变动都是同步的。比如网购,库存减少的同时资金增多。
    Availability(可用性), 好的响应性能。比如支付操作10ms内响应用户。
    Partition tolerance(分区容错性) 可靠性。比如电商网站商品库存库挂了并不影响用户资金账户库。

     

    CAP定理:任何分布式系统只可同时满足以上二点,没法三者兼顾。
    忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。

     

    关系型数据库的ACID模型:高一致性 + 可用性 很难进行分区

    Atomicity原子性:一个事务中所有操作都必须全部完成,要么全部不完成。
    Consistency一致性. 在事务开始或结束时,数据库应该在一致状态。
    Isolation隔离层. 事务将假定只有它自己在操作数据库,彼此不知晓。
    Durability. 一旦事务完成,就不能返回。

     

    BASE模型反ACID模型:完全不同ACID模型,牺牲高一致性,获得可用性或可靠性

    Basically Available基本可用。支持分区失败(e.g. sharding碎片划分数据库)

    Soft state软状态 状态可以有一段时间不同步,异步。
    Eventually consistent最终一致,最终数据是一致的就可以了,而不是时时高一致。

     

    BASE实现

    1.按功能划分数据库
    2.sharding碎片 

     

    BASE思想

    主要强调基本的可用性,如果你需要High 可用性,也就是纯粹的高性能,那么就要以一致性或容错性为牺牲,BASE思想的方案在性能上还是有潜力可挖的。

     

    参考文献

    http://www.jdon.com/37625

     

  • 相关阅读:
    Sum Root to Leaf Numbers
    Sum Root to Leaf Numbers
    Sort Colors
    Partition List
    Binary Tree Inorder Traversal
    Binary Tree Postorder Traversal
    Remove Duplicates from Sorted List II
    Remove Duplicates from Sorted List
    Search a 2D Matrix
    leetcode221
  • 原文地址:https://www.cnblogs.com/gauze/p/7955008.html
Copyright © 2011-2022 走看看