zoukankan      html  css  js  c++  java
  • 数据库ACID和CAP理论

    1、ACID是RDBMS的理论基石;

         A原子(Atomiclty )事务原子性;
         C一致(Consistency)插入一张表数据,会 影响其它(索引/其它表)等一致。
         I 隔离性(ioslation)事务独立,封闭;隔离性强度;
         D持久性(Durabilty)数据永存。  

         对应分布式数据库, 某些业务不需全部一致性事务,可采用弱化其中之一,提供其它响应速度等。

    理解:

    A  事务原子性,指对一个事务要么完全提交要么完全回滚,保证提交成功的给数据库的和外部反应的一致。或者提交不成功,完全回滚,数据库完全没反应于外部。这种事务原子保证了现实生活很多业务现象的合理。例如:银行存款,如果确定成功存入,数据库必须完整修改。如果存入失败,数据库必须完全回滚。不能在数据库只存一半或回滚一半。

    C 事务一致性:一个事务执行前和执行后在数据库必须保证一致状态;例如:表a和表b有主外键约束,更新a,级联b值需要保持一致性更新。

    I 是事务的隔离性  ,事务的隔离有4个级别( read  Uncommitted ,read committed  ,rapeatable read ,可串行) 数据库为了防止出现数据库读取不一致,可设置不同等级的事务的隔离性;  
    D、   持久性 : 在事务完成以后,数据持久的保存在数据库之中,并不会被回滚。    

    2、
    著名 
    CAP理论:在分布式数据库应用中,任何分布式系统只可同时满足CAP其中两点,无法三者兼顾。

    Consistency(一致性), 数据一致更新,所有数据变动都是同步的。
    Availability(可用性), 好的响应性能。
    Partition tolerance(分区容错性) 可靠性。

    CA 系统是要求高可用用并且实时一致性。单点数据库是符合这种架构的,例如超市收银系统,图书管理系统。
    AP  满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。例如博客系统。
    CP  系统是要求 满足一致性,分区容忍性,通常性能不是特别高。例如火车售票系统。  

    忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。 

    3、  最终一致性的系统是符合AP理论架构,对可用和分区容错要求较高,对数据实时一致要求较低。网络论坛或weibo的系统架构都符合最终一致性的应用。  
    4、数据库 中间件服务时是对分布式数据库的一个管理系统,其中负载均衡和扩展性相对来说是它的核心所在。  

  • 相关阅读:
    搭建前端监控系统(备选)Js截图上报篇
    搭建前端监控系统(三)静态资源加载监控篇
    搭建前端监控系统(一)阿里云服务器搭建篇
    springboot+缓存
    springboot集成springDataJpa
    从零开始搭建SpringBoot项目
    Java1.8的HashMap源码解析
    SpringMvc流程分析,简单源码分析
    Java定时任务
    Java性能调优
  • 原文地址:https://www.cnblogs.com/riskyer/p/3230972.html
Copyright © 2011-2022 走看看