Ch08-MySQL 之 锁
June 29, 2022
MySQL 锁机制
...MySQL 锁机制
...数据库事务 (Database Transaction),是指作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么完全地不执行。要么完全地不执行。一般来说,事务是必须满足 4 个条件 (ACID):原子性 (Atomicity)
、一致性 (Consistency)
、隔离性 (Isolation)
、持久性 (Durability)
。
我们习惯把 MySQL 复制中的角色叫做 Master/Slave,MySQL 8.0 后,术语和命令上都会统一到 Source/Replica。MySQL 采用 log shipping 的复制技术,在 source 节点上生成 binlog,通过 dump 线程把 binlog 推到 replica 节点上,replica 节点首先把 binlog 存储到 relay log 中,然后通过 MTS(Multi-Threaded Slave) 技术 replay 到 replica 节点上的表空间。
...InnoDB 索引选择B+树作为其内存数据结构,选择聚簇索引作为数据存储方式。
...Page # 索引页 组成 说明 File Header 表示页的一些通用信息,占固定的 38 字节。 Page Header 表示数据页专有的一些信息,占固定的 56 个字节。 Infimum + Supremum 两个虚拟的伪记录,分别表示页中的最小和最大记录,占固定的 26 个字节。 User Records 真实存储我们插入的记录的部分,大小不固定。 Free Space 页中尚未使用的部分,大小不确定。 Page Directory 页中的某些记录相对位置,也就是各个槽在页面中的地址偏移量,大小不固定,插入的记录越多,这个部分占用的空间越多。 File Trailer 用于检验页是否完整的部分,占用固定的 8 个字节。 Row # 格式 说明 compact redundant dynamic 与 compact 行格式挺像,但它不会在记录的真实数据处存储字段真实数据的前 768 个字节,而是把所有的字节都存储到其他页面中,只在记录的真实数据处存储其他页面的地址 compressed 会采用压缩算法对页面进行压缩,以节省空间 参考文献 # MySQL 之数据页结构 MySQL 之 InnoDB 表空间 MySQL 之 InnoDB 存储结构总结 附件 #
Buffer Pool
...InnoDB 的内存结构主要由 Buffer Pool, Change Buffer, Adaptive Hash Index, Log Buffer 这几个部分组成,而存储结构则是由若干种不同的 Tablespace 组成。如下图所示。
...MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
...