MySQL: InnoDB存储引擎

本文详细介绍了MySQL 5.5版本InnoDB存储引擎的特点,包括新增功能如压缩、动态调整、在线索引添加等,并深入探讨了InnoDB内存池结构及其后台线程工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.MYSQL 版本:

Variable_name: version
        Value: 5.5.52-MariaDB

Innodb version

5.5.49-MariaDB-38.0

内容增加compression、dynamic、linux AIO、多回滚段、全文索引、在线索引添加;

二.MYSQL体系

内存池:
  • 维护所有进程/线程需要访问多个数据结构
  • 缓存磁盘上数据,脏页checkpoint磁盘前数据缓存
  • 重做日志redo log缓冲

image

后台线程:

  • Master Thread

核心的后台线程,主要将缓冲池中的数据换新到磁盘中,保证数据一致性。脏页刷新,合并插入缓冲,UNDO页(数据修改之前备份的数据用于rollback)

  • IO Thread

Async IO (write,read,insert buffer,log) InnoDB 1.0.X后read write 分别增大4个。

可以通过Innodb_read_io_threads和innodb_write_io_threads

命令:

show variables like ‘INNODB_%IO_THREADS’\G;

  • Purge Thread

清除线程,当事务被提交时候undo log就是不在需要,因此需要回收,故设立单独线程,减缓master thread 压力,提高存储性能

数据库配置文件添加独立命令启动purge thread:

[mysqld]

innodb_purge_threads=1

innodb 1.2 后可以设置4个purge threads

  • Page Cleaner Thread  

InnoDB1.2后面 脏页刷入磁盘单独放到一个线程完成减轻master thread 压力,有利于查询阻塞线程和提高存储引擎的性能。

后台线程作用:
  1. 负责刷新内存池中的数据,保证缓存中是最近的数据
  2. 修改后的数据文件刷新到磁盘
  3. 保证数据库发生异常的情况下Innodb恢复到正常运行状态

内存:

缓冲池:

是一块内存区域,为弥补CPU和磁盘速度的鸿沟,先把读到页从磁盘→FIX到缓冲池中,下次读到相同页的时候先判断再命中!

数据库修改页,首先修改缓冲池中的页,然后再一定的频率刷新到磁盘,通过checkpoint(可以配置频率)机制  间隔的刷新到磁盘。

建议64位系统;

缓冲池通过参数Innodb_buffer_pool_size

show variables like 'innodb_buffer_pool_size'\G;

单位:字节

image

InnoDB 1.0.X 允许多个缓冲实例,每个页平均分配到不同缓冲池实例,减少数据库内存资源竞争增加并发,通过以下参数 innodb_buffer_pool_instances配置默认值为1.

命令:

show variables like 'innodb_buffer_pool_instances'\G;

image

通过 show engine innodb status 查看整个存储引擎的缓冲池状态:略!

MYSQL5.6开始可以通过下面表查询缓冲池状态:

select  pool_id,pool_size,free_buffers,database_pages  from  INNODB_BUFFER_POOL_STATS\G;

image

转载于:https://www.cnblogs.com/kingwwz/p/7543670.html

内容概要:该PPT详细介绍了企业架构设计的方法论,涵盖业务架构、数据架构、应用架构和技术架构四大核心模块。首先分析了企业架构现状,包括业务、数据、应用和技术四大架构的内容和关系,明确了企业架构设计的重要性。接着,阐述了新版企业架构总体框架(CSG-EAF 2.0)的形成过程,强调其融合了传统架构设计(TOGAF)和领域驱动设计(DDD)的优势,以适应数字化转型需求。业务架构部分通过梳理企业级和专业级价值流,细化业务能力、流程和对象,确保业务战略的有效落地。数据架构部分则遵循五大原则,确保数据的准确、一致和高效使用。应用架构方面,提出了分层解耦和服务化的设计原则,以提高灵活性和响应速度。最后,技术架构部分围绕技术框架、组件、平台和部署节点进行了详细设计,确保技术架构的稳定性和扩展性。 适合人群:适用于具有一定企业架构设计经验的IT架构师、项目经理和业务分析师,特别是那些希望深入了解如何将企业架构设计与数字化转型相结合的专业人士。 使用场景及目标:①帮助企业和组织梳理业务流程,优化业务能力,实现战略目标;②指导数据管理和应用开发,确保数据的一致性和应用的高效性;③为技术选型和系统部署提供科学依据,确保技术架构的稳定性和扩展性。 阅读建议:此资源内容详尽,涵盖企业架构设计的各个方面。建议读者在学习过程中,结合实际案例进行理解和实践,重点关注各架构模块之间的关联和协同,以便更好地应用于实际工作中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值