标签:mysql
mysql architecture 说明
字段意义说明
Connectors:数据库连接器
Native C API:C连接数据库接口
JDBC:Java连接数据库驱动
ODBC:开放数据库互连
.NET:.NET连接数据库驱动
PHP:PHP连接数据库驱动
Perl:Perl连接数据库驱动
Python:Python连接数据库驱动
Ruby:Ruby连接数据库驱动
Cobol:Cobol连接数据库驱动
Connection Pool:
MySQL是单进程多线程工作模式,所以必须维护一个线程池。管理大量线程对大量客户端并发请求进行并发响应。
Authentication:认证,用户名密码等。
Thread Reuse:线程重用。(当一个用户连接请求进来之后,需要一个线程来进行响应。当用户退出,这个线程并不是被销毁,
而是清理此线程重新收归到线程池当中的空闲线程中)
Connection Limits:线程池的大小决定了连接并发数的上限。
Check Memory:线程内存检查
Caches:线程缓存。
SQL Interface:
类似于mysql的shell,SQL命令的解释器,支持过程式编程,支持视图、存储过程、存储函数、触发器,分析语法问题等等。
Parser:
SQL语句分析器,并不分析语法问题,进行语句的执行分析。查询翻译,将一个查询语句转化成对应的可以识别的语句,
能在本地执行的特定操作。分析是对某个对象有访问权限等。
Optimizer:
负责检查多条路径及每条路径的开销,评估开销(开销的计算依赖于索引,动态生产的统计数据,内部组件等)。生成统计数据等。
Caches&Buffers:
MySQL的某些存储引擎,将访问到的频繁的热点数据装入内存,用户直接访问内存便于访问。所MySQL需要维护一个Caches&Buffers.
Pluggable Storage Engines:
插件式存储引擎。MyISAM、InnoDB、NDB、Archive、Memory等,存储引起负责把具体分析的结果(Optimizer),完成对磁盘上文件的路径访问的转换。
存储引擎需要把语句映射到磁盘块,并将磁盘块加载到内存中。
FileSystem:
物理视图,在操作系统级别,MySQL的数据存储为一个个文件。
Files&Logs:
Redo:重做日志
Undo:撤销日志
Data:数据文件
Index:索引文件
Binary:二进制日志文件
Error:错误日志
Query and Slow:查询日志和慢查询日志
简化架构说明
流程说明:
1.各种客户端通过连接器,交由连接线程处理。负载连接线程的创建、管理、销毁等。
2.用户发出语句后,由分析器进行分析。如果是查询语句,直接进入查询缓存。
3.如果命中,直接返回,如果未命中。则继续交给优化器。
4.优化完成以后,交给存储引擎负责对应的文件系统,取到相关的数据。加载到内存中,由存储引擎挑选出对应的行或符合条件的行。
本文出自 “深呼吸再出击” 博客,请务必保留此出处http://ckl893.blog.51cto.com/8827818/1918765
标签:mysql
原文地址:http://ckl893.blog.51cto.com/8827818/1918765