数据库ACID和CAP理论
1、ACID是RDBMS的理论基石;
影响其它(索引/其它表)等一致。
对应分布式数据库,
某些业务不需全部一致性事务,可采用弱化其中之一,提供其它响应速度等。
A 事务原子性,指对一个事务要么完全提交要么完全回滚,保证提交成功的给数据库的和外部反应的一致。或者提交不成功,完全回滚,数据库完全没反应于外部。这种事务原子保证了现实生活很多业务现象的合理。例如:银行存款,如果确定成功存入,数据库必须完整修改。如果存入失败,数据库必须完全回滚。不能在数据库只存一半或回滚一半。
C 事务一致性:一个事务执行前和执行后在数据库必须保证一致状态;例如:表a和表b有主外键约束,更新a,级联b值需要保持一致性更新。
I 是事务的隔离性 ,事务的隔离有4个级别(
read Uncommitted
,read committed
,rapeatable read ,可串行)
数据库为了防止出现数据库读取不一致,可设置不同等级的事务的隔离性;
D、
持久性 :
在事务完成以后,数据持久的保存在数据库之中,并不会被回滚。
2、
著名
CAP理论:在分布式数据库应用中,任何分布式系统只可同时满足CAP其中两点,无法三者兼顾。
Consistency(一致性), 数据一致更新,所有数据变动都是同步的。
Availability(可用性), 好的响应性能。
Partition tolerance(分区容错性) 可靠性。
满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。例如博客系统。
系统是要求
满足一致性,分区容忍性,通常性能不是特别高。例如火车售票系统。
忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。
3、
最终一致性的系统是符合AP理论架构,对可用和分区容错要求较高,对数据实时一致要求较低。网络论坛或weibo的系统架构都符合最终一致性的应用。
4、数据库
中间件服务时是对分布式数据库的一个管理系统,其中负载均衡和扩展性相对来说是它的核心所在。
数据库ACID和CAP理论的更多相关文章
- CAP理论和BASE理论及数据库的ACID中关于一致性及不同点的思考
CAP定理又被称作是布鲁尔定理,是加州大学伯克利分销计算机科学家里克在2000年提出,是分布式理论基础. CAP:是分布式系统的理论基础 [一致性 可用性 分区容错性] BASE理论是对CAP中 ...
- 【数据库】事务,ACID,CAP和一致性
什么是事务 事务是指由一系列数据库操作组成的一个完整的逻辑过程,这个过程中的所有操作要么都成功,要么都不成功.比如:常见的例子就是银行转账的例子,一次转账操作会包含多个数据库操作,而这些数据库操作需要 ...
- 分布式理论——从ACID到CAP再到BASE
在传统的数据中,有ACID四大原则,在分布式中也有对应的CAP理论和BASE理论,这些都是分布式理论的基础. 更多内容参考:大数据学习之路 ACID ACID分别是Atomicity 原子性.Cons ...
- 分布式理论系列(一)从 ACID 到 CAP 到 BASE
分布式理论系列(一)从 ACID 到 CAP 到 BASE 一.ACID 1.1 事务的四个特征: (1) Atomic(原子性) 事务必须是一个原子的操作序列单元,事务中包含的各项操作在一次执行过程 ...
- 【Redis数据库】再有人问你CAP理论是什么,就把这篇文章发给他
CAP是Consistency(一致性),Availability(可用性),Partition tolerance(分区容错性)的缩写.在学习redis过程中看到这个名词,查找各位大佬的文章发现这篇 ...
- 从分布式一致性谈到CAP理论、BASE理论
问题的提出 在计算机科学领域,分布式一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景. 1.火车站售票 假如说我们的终端用户是一位经常坐火车的旅行家,通常他是去车站的售票处购买车票,然 ...
- CAP理论
自打引入CAP理论的十几年里,设计师和研究者已经以它为理论基础探索了各式各样新颖的分布式系统,甚至到了滥用的程度.NoSQL运动也将CAP理论当作对抗传统关系型数据库的依据. CAP理论主张任何基于网 ...
- 【转】分布式理论-CAP理论
一 CAP理论简述 CAP (Consistency, Availability, Partition Tolerance,) 理论是NoSQL数据库管理系统构建的基础. 强一致性:等同于所 ...
- 分布式领域CAP理论
分布式领域CAP理论,Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能Partition tolerance(分区容错性) 可 ...
随机推荐
- sass教程汇总
Sass @at-root http://www.w3cplus.com/preprocessor/Sass-3-3-new-feature-at-root-bem.html Sass中连体符(&am ...
- Sql狗血的Bit类型赋值与取值
Bit 数据类型在 SQL Server 数据库中以存储 1.0 进行存储. 往数据库中添加,修改 bit 类型的字段时,只能用 0 或者 1. 关于修改 Bit 类型的字段 1.若使用 SQL 语句 ...
- SEO 网站页面SEO优化之页面title标题优化
在seo优化中,标题的优化占着举足轻重的地位,无论是从用户体验的角度出发,还是从搜索引擎的排名效果出发,title标题都是页面优化最最重要的因素.笔者总结了优化title标题应该注意的六个方面: ①. ...
- DHTMLX 前端框架 建立你的一个应用程序 教程(五)--添加一个表格Grid
表格例子 样本如下: 我们这篇介绍的是dhtmlxGrid 组件. 它支持4种数据格式:XML, JSON, CSV, JSArray. 添加表格到布局的单元格中去: 1.使用attachGrid( ...
- 基于ASP.NET的comet简单实现 http长连接,IAsyncResult
http://www.cnblogs.com/hanxianlong/archive/2010/04/27/1722018.html 我潜水很多年,今天忽然出现.很久没写过博客了,不是因为不想写,而是 ...
- codeigniter 分页类练习
controller page页: <?php class Blog extends CI_Controller{ public function __construct(){ parent:: ...
- 近期会放出tlplayer for android的更新版本
tlplayer for android的一次重大更新在近期将会放出,自从去年初的时候放出tlplayer android版本后,一直都没有更新tlplayer,而tlplayer for windo ...
- hdu4714Tree2cycle
链接 树上的一些操作还是不是太好想 直接dfs下去 不是最优的 一个节点最多保留两个度 如果它有两个以上的子节点 那么就与父节点断开 与k-2个子节点断开 再重新连 #pragma comment(l ...
- 利用if,else判断输入的是不是一个正整数
static void Main(string[] args) { while (true) { Console.Writ ...
- vijos p1193 扫雷
描述 相信大家都玩过扫雷的游戏.那是在一个n*n的矩阵里面有一些雷,要你根据一些信息找出雷来.万圣节到了,“余”任过流行起了一种简单的扫雷游戏,这个游戏规则和扫雷一样,如果某个格子没有雷,那么它里 ...