InnoDB总结
逻辑存储结构
表空间,段、区、页、行
系统表空间和独占表空间、通用表空间
一个区的大小是1M,一个页的大小是16K,一个区就包含64个连续的页。
InnoDB引擎在分配空间时会一次性申请4到5个区,从而保证申请到的页是连续的。
架构
内存结构
缓冲区:将80%的内存都分配给缓冲区,因为通过缓冲区那么就可以提高数据库的并发访问性能。
磁盘结构
表空间、redo log、双写缓冲文件等等
事务原理
事务的四大特性底层是由什么实现的。
原子性 undo log
通过undo log 这份回滚日志来保证事务的原子性
持久性 redo log
是由在缓冲区的脏页刷新到磁盘过程中出现问题,可以通过redo log来恢复从而保证数据的持久性。
一致性 undo log + redo log
隔离性 锁 + MVCC
MVCC
在快照读的时候要通过MVCC来查找对应的历史版本,是怎么查找对应的历史版本,涉及到MVCC底层原理,三个非常重要的组件:隐藏字段(事务id、回滚指针、隐藏主键)、undo log版本链、readView读视图(4个属性,维护当前事务读哪个版本)。