第2章:整体架构
目录
第2章:整体架构
2.1 单机架构
2.1.1 Mysql架构分层
2.1.2 InnoDB架构分层
2.1.3 小结
2.2 集群架构
2.2.1 主从模式
2.2.2 Cluster模式
2.2.3 主从模式和Cluste的区别
2.2.4 小结
2.3 总结
2.1 单机架构
2.1.1 Mysql架构分层
下图描述了Mysql的架构层级
在MySQL的架构中,每个层级都有其特定的职责
SQL Interface:
- 接收请求:接收来自客户端的SQL查询请求。
- 验证权限:检查用户是否有权限执行请求的操作。
- 解析查询:将客户端提交的SQL语句分解成可理解的元素。
Parser & Optimizer:
- 解析SQL语句:将SQL语句分解成的元素组装成一棵抽象语法树(AST)。
- 优化查询计划:分析AST并优化查询执行计划,选择最有效的方式来执行查询(例如,选择合适的索引)。这是查询优化器所做的事情,这一部分是所有数据库厂商最黑的黑科技所在。
- 生成执行计划:将优化后的查询计划编译成可以被存储引擎执行的操作序列。
Pluggable Engines:
- 数据存储与检索:存储引擎负责数据的存储、检索、更新和删除操作。
- 事务处理:对于支持事务的存储引擎(如InnoDB),它们负责实现事务的ACID属性(原子性、一致性、隔离性和持久性)。
- 锁定机制:管理数据并发访问的锁定机制,保证多用户环境下数据的一致性。
- 表和索引的维护:维护表结构和索引,优化数据访问和查询性能。
具体到InnoDB存储引擎,它的职责更加具体化:
- 行级锁定:提供行级锁定,减少并发访问时