600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > gfdmp和mysql 《高性能MySQL》读书笔记--锁 事务 隔离级别

gfdmp和mysql 《高性能MySQL》读书笔记--锁 事务 隔离级别

时间:2022-10-18 14:04:03

相关推荐

gfdmp和mysql 《高性能MySQL》读书笔记--锁 事务 隔离级别

1.锁为什么需要锁?因为数据库要解决并发控制问题。在同一时刻,可能会有多个客户端对表中同一行记录进行操作,比如有的在读取该行数据,其他的尝试去删除它。为了保证数据的一致性,数据库就要对这种并发操作进行控制,因此就有了锁的概念。1.1锁的分类从对数据操作的类型(读写)分

读锁(共享锁):针对同一块数据,多个读操作可以同时进行而不会互相影响。

写锁(排他锁):当前写操作没有完成前,它会阻断其他写锁和读锁。

大多数时候,MySQL锁的内部管理都是透明的。1.2锁粒度(Lock granularity)为了尽可能提高数据库的并发度,每次锁定的数据范围越小越好,理论上每次只锁定当前操作的数据的方案会得到最大的并发度,但是管理锁是很耗资源的事情(涉及获取,检查,释放锁等动作),因此数据库系统需要在高并发响应和系统性能两方面进行平衡,这样就产生了“锁粒度(Lock granularity)”的概念。

表锁:管理锁的开销最小,同时允许的并发量也最小的锁机制。MyIsam存储引擎使用的锁机制。当要写入数据时,把整个表都锁上,此时其他读、写动作一律等待。在MySql中,除了MyIsam存储引擎使用这种锁策略外,MySql本身也使用表锁来执行某些特定动作,比如alter table.

另外,写锁比读锁有更高的优先级,因此一个写锁可能会被插入到读锁队列的前面。

行锁:可以支持最大并发的锁策略(同时也带来了最大的锁开销)。InnoDB和Falcon两张存储引擎都采用这种策略。行级锁只在存储引擎层实现,而MySQL服务器层没有实现。服务器层完全不了解存储引擎中的锁实现。

MySql是一种开放的架构,你可以实现自己的存储引擎,并实现自己的锁粒度策略,不像Oracle,你没有机会改变锁策略,Oracle采用的是行锁。

1.3死锁(Dead Lock)死锁是指两个或者多个事务在同一资源上相互占用,并请求锁定对方占用的资源,从而导致恶性循环的假象。多个事务同时锁定同一个资源时,也会产生死锁。数据库系统实现了各种死锁检测和死锁超时的机制,InnoDB目前处理死锁的方法是,将持有最少行级排他锁的事务进行回滚。

2.事务(Transaction)

2.1事务ACID原则从业务角度出发,对数据库的一组操作要求保持4个特征:

Atomicity(原子性):一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性。

Consistency(一致性):数据库总是从一个一致性状态转换到另一个一致状态。下面的银行列子会说到。

Isolation(隔离性):通常来说,一个事务所做的修改在最终提交以前,对其他事务是不可见的。注意这里的“通常来说”,后面的事务隔离级级别会说到。

Durability(持久性):一旦事务提交,则其所做的修改就会永久保存到数据库中。此时即使系统崩溃,修改的数据也不会丢失。(持久性的安全性与刷新日志级别也存在一定关系,不同的级别对应不同的数据安全级别。)

为了更好地理解ACID,以银行账户转账为例:

1 START TRANSACTION;

2 SELECT balance FROM checking WHERE customer_id = 10233276;

原子性:要么完全提交(10233276的checking余额减少200,savings 的余额增加200),要么完全回滚(两个表的余额都不发生变化)

一致性:这个例子的一致性体现在 200元不会因为数据库系统运行到第3行之后,第4行之前时崩溃而不翼而飞,因为事物还没有提交。

隔离性:允许在一个事务中的操作语句会与其他事务的语句隔离开,比如事务A运行到第3行之后,第4行之前,此时事务B去查询checking余额时,它仍然能够看到在事务A中被减去的200元(账户钱不变),因为事务A和B是彼此隔离的。在事务A提交之前,事务B观察不到数据的改变。

持久性:这个很好理解。

事务跟锁一样都会需要大量工作,因此你可以根据你自己的需要来决定是否需要事务支持,从而选择不同的存储引擎。2.2隔离级别(Isolation Level)

SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。

Read Uncommitted(未提交读)

在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)。

Read Committed(提交读)

这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。这种隔离级别 也支持所谓的不可重复读(Nonrepeatable Read),因为同一事务的其他实例在该实例处理其间可能会有新的commit,所以同一select可能返回不同结果。

Repeatable Read(可重复读)

这是MySQL的默认事务隔离级别,它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行。不过理论上,这会导致另一个棘手的问题:幻读 (Phantom Read)。简单的说,幻读指当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影” 行。InnoDB和Falcon存储引擎通过多版本并发控制(MVCC,Multiversion Concurrency Control)机制解决了该问题。

这里有介绍MVCC策略:/xifeijian/article/details/45230053

Serializable(可串行化)

这四种隔离级别采取不同的锁类型来实现,若读取的是同一个数据的话,就容易发生问题。例如:

脏读(Drity Read):某个事务已更新一份数据,另一个事务在此时读取了同一份数据,由于某些原因,前一个RollBack了操作,则后一个事务所读取的数据就会是不正确的。

不可重复读(Non-repeatable read):在一个事务的两次查询之中数据不一致,这可能是两次查询过程中间插入了一个事务更新的原有的数据。

幻读(Phantom Read):在一个事务的两次查询中数据笔数不一致,例如有一个事务查询了几列(Row)数据,而另一个事务却在此时插入了新的几列数据,先前的事务在接下来的查询中,就会发现有几列数据是它先前所没有的。

在MySQL中,实现了这四种隔离级别,分别有可能产生问题如下所示:

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" alt="" />

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。