processing mysql_Mysql

2ff34e647e2e3cdfd8dca593e17d9b0a.png

两阶段加锁协议(2PL)

主要用于单机事务中的一致性与隔离性。

两阶段提交协议(2PC)

主要用于分布式事务

多版本并发控制(Multi-Version Concurrency Control,MVCC)

可重复读(repeatable read)

一个事务执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的。当然在可重复读隔离级别下,未提交的变更对其他事务是不可见的。

幻读(phantom read)

脏读(dirty read)

当前读(current read)

更新数据都是先读后写,而这个读,只能读当前的值,成为当前读

快照读(snapshot read)

一致性

不仅是数据库内部数据状态的一致性还包含数据和日志在逻辑上的一致性

读锁(S锁,共享锁)

写锁(X锁,排他锁)

间隙锁(Gap Lock)

next-key lock

记录锁(record locks)

互斥锁(lock_mode X)

行锁

死锁

当并发系统中不同线程出现循环资源依赖,涉及的线程都在等待别的线程释放资源是,就会导致这几个线程都进入无线等待的状态。

全局锁

对整个数据库实例加锁。命令Flush tables with read lock。主要用在逻辑备份过程中

表锁

对表进行加锁。命令lock tables ... read/write

元数据锁(meta data lock,MDL)

也是表级锁,不需要显示使用,在访问一个数据表的时候会被自动加上。MDL的作用是保证读写的正确性。

备份线程

读提交

binlog

连接器

管理连接,权限验证

查询缓存

分析器

词法分析,语法分析

优化器

执行计划生成,索引选择

执行器

操作引擎,返回结果

存储引擎

redo log(重做日志)

binlog(归档日志)

undo log(回滚日志)

WAL技术(Write-Ahead-Logging,WAL)

write pos

checkpoint

buffer pool

InnoDB 用缓冲池管理内存

覆盖索引

可以直接提供查询结果,不需要回表。

索引下推

一致性视图(consistent read view)

是INNIDB在实现MVCC时用到的,用于支持RC(Read Commited,读提交)和RR(Repeatable Read,可重复读)隔离级别的实现。

change buffer

刷脏页

数据页

DDL

DML

DCL

Online DDL

OLAP 联机分析处理OLAP(On-Line Analytical Processing)

OLTP 联机事务处理OLTP(On-Line Transaction Processing)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值