innodb存储引擎(第2版) 读后感(一)
2014-04-28 23:11
141 查看
1,innodb 后台线程管理:
1.1 Master thread
主要负责将缓冲池中的数据异步刷新到磁盘,保证数据的一致性,包括脏页的刷新、合并插入缓冲(INSERT BUFFER)、UNDO 页的回收等
1.2 IO thread
主要是负责这些AIO 请求的回调,通过innodb_read_io_threads 和innodb_write_io_threads参数定义
1.3 purge thread
事务被提交后,其所使用的undolog 可能不再需要,因此需要PurgeThread 来回收已经使用并分配的undo 页,可以使用参数innodb_purge_threads=1 配置多个线程
1.4 Page Cleane
InnoDB 1.2.x 版本中引入的。其作用是将之前版本中脏页的刷新操作都放入到单独的线程中来完成
2,innodb 内存管理:
2.1 缓冲池
缓冲池中缓存的数据页类型有:索引页、数据页、undo 页、插入缓冲(insert buffer)、自适应哈希索引(adaptive hash index)、InnoDB 存储的锁信息(lock
info)、数据字典信息(data dictionary)等。.可以使用innodb_buffer_pool_size 和innodb_buffer_pool_instance配置。
缓冲池包括LRU list , free list 和flush list 组成
LRU list :数据库中的缓冲池是通过LRU(Latest Recent Used,最近最少使用)算法来进行管理的,midpoint 位置可由参数innodb_old_blocks_pct 控制,innodb_old_blocks_time,用于表示页读取到mid 位置后需要等待多久才会被加入到LRU 列表的热端,当页从LRU 列表的old 部分加入到new 部分时,称此时发生的操作为page made young,而因为innodb_old_blocks_time 的设置而导致页没有从old 部分移动到new
部分的操作称为page not made young。InnoDB 存储引擎从1.0.x 版本开始支持压缩页的功能,即将原本16KB 的页压缩为1KB、2KB、4KB 和8KB。对于非16KB 的页,是通过unzip_LRU 列表进行管理的
free list: 记录了数据库刚启动时的空闲页列表
flush list: 记录了脏页列表
2.2 重做日志缓冲
InnoDB 存储引擎首先将重做日志信息先放入到这个缓冲区,然后
按一定频率将其刷新到重做日志文件。该值可由配置参数innodb_log_buffer_size 控制,默认为
8MB
2.3 额外的内存池
在对一些数据结构本身的内存进行分配时,需要从额外的内存池中进行
申请,在申请了很大的InnoDB 缓冲池时,也应考虑相应地增加这个值,该值由innodb_additional_mem_pool_size指定
1.1 Master thread
主要负责将缓冲池中的数据异步刷新到磁盘,保证数据的一致性,包括脏页的刷新、合并插入缓冲(INSERT BUFFER)、UNDO 页的回收等
1.2 IO thread
主要是负责这些AIO 请求的回调,通过innodb_read_io_threads 和innodb_write_io_threads参数定义
1.3 purge thread
事务被提交后,其所使用的undolog 可能不再需要,因此需要PurgeThread 来回收已经使用并分配的undo 页,可以使用参数innodb_purge_threads=1 配置多个线程
1.4 Page Cleane
InnoDB 1.2.x 版本中引入的。其作用是将之前版本中脏页的刷新操作都放入到单独的线程中来完成
2,innodb 内存管理:
2.1 缓冲池
缓冲池中缓存的数据页类型有:索引页、数据页、undo 页、插入缓冲(insert buffer)、自适应哈希索引(adaptive hash index)、InnoDB 存储的锁信息(lock
info)、数据字典信息(data dictionary)等。.可以使用innodb_buffer_pool_size 和innodb_buffer_pool_instance配置。
缓冲池包括LRU list , free list 和flush list 组成
LRU list :数据库中的缓冲池是通过LRU(Latest Recent Used,最近最少使用)算法来进行管理的,midpoint 位置可由参数innodb_old_blocks_pct 控制,innodb_old_blocks_time,用于表示页读取到mid 位置后需要等待多久才会被加入到LRU 列表的热端,当页从LRU 列表的old 部分加入到new 部分时,称此时发生的操作为page made young,而因为innodb_old_blocks_time 的设置而导致页没有从old 部分移动到new
部分的操作称为page not made young。InnoDB 存储引擎从1.0.x 版本开始支持压缩页的功能,即将原本16KB 的页压缩为1KB、2KB、4KB 和8KB。对于非16KB 的页,是通过unzip_LRU 列表进行管理的
free list: 记录了数据库刚启动时的空闲页列表
flush list: 记录了脏页列表
2.2 重做日志缓冲
InnoDB 存储引擎首先将重做日志信息先放入到这个缓冲区,然后
按一定频率将其刷新到重做日志文件。该值可由配置参数innodb_log_buffer_size 控制,默认为
8MB
2.3 额外的内存池
在对一些数据结构本身的内存进行分配时,需要从额外的内存池中进行
申请,在申请了很大的InnoDB 缓冲池时,也应考虑相应地增加这个值,该值由innodb_additional_mem_pool_size指定
相关文章推荐
- 关于C语言程序设计:现代方法(第2版)的读后感
- 《Redis入门指南(第2版)》读后感
- 关于写给大家看的C语言书(第2版)的读后感
- 关于UNIX环境高级编程(第2版)——图灵计算机科学丛书的读后感
- 关于C#本质论(第2版)的读后感
- 关于.NET设计规范——约定、惯用法与模式(第2版·英文版)(附光盘)的读后感
- MySQL技术内幕:InnoDB存储引擎(第2版)
- 《JavaScript DOM 编程艺术》(第2版)之读后感悟
- 《OpenCV 3计算机视觉:Python语言实现》(原书第2版)读后感
- JavaScript DOM 编程艺术(第2版) 读后感
- 《Redis入门指南(第2版)》读后感
- 《算法竞赛入门经典(第2版)》刘汝佳读后感
- 关于.NET设计规范——约定、惯用法与模式(第2版·英文版)(附光盘)的读后感
- 简爱读后感
- 《禅与摩托车维修艺术》读后感
- 《产品经理的时间管理》读后感
- 《淡定的人生不寂寞》读后感
- 狼道:强者的成人礼(第2版)
- 《编码的奥秘》——<电筒密谈>——读后感!
- 设计模式读后感