美文网首页
MySQL基础架构

MySQL基础架构

作者: stayiwithime | 来源:发表于2020-04-21 18:01 被阅读0次

    分层的思想无处不在

    数据库产品的架构一般可以分为应用层、逻辑层和物理层,对于MySQL,同样可以理解为如下三层:

    • 应用层

    负责和客户端、用户进行交互,需要和不同的客户端和中间服务器进行交互,建立连接,记住连接的状态,响应他们的请求,返回数据和控制信息(错误信息、状态码等)

    • 逻辑层

    负责具体的查询处理、事物管理、存储管理、恢复管理以及其他的附加功能。查询处理器负责查询的解析、执行。当接收到客户端的查询时,数据库就会分配一个线程来处理它。先由查询处理器(优化器)生成执行计划,然后交友计划执行器来执行,执行器有时需要访问更底层的事物管理器、存储管理器来操作数据,事务管理器、存储管理器主要负责事物管理、并发控制、存储管理。这其中,将由事物管理器俩确保“ACID”特性,通过锁管理器来控制并发,由日志管理器来确保数据持久化,存储管理器一般还包括一个缓冲管理器,由他来确定磁盘和内存缓冲之间的数据传输。

    ACID:
    原子性(Atomicity),事物是一个不可分给的单位,要么都成功,要么都失败;
    一致性(Consistency),事物前后数据的完整性必须保持一致;
    隔离性(Isolation),多个并发事物之间要相互隔离;
    持久性(Durability),事物一旦被提交,对数据库中数据的改变就是永久性的

    • 物理层

    实际物理磁盘(存储)上的数据库文件,比如,数据文件、日志文件等。


    图1-1是MySQL官方文档的一个基础架构图,
    其中Connectors可以理解为各种客户端、应用服务;
    ConnectionPool可以理解为应用层,负责连接、验证等功能;
    ManagementService&Utilities、SQL Interface、Parser、Optimizer、Caches&Buffers、Pluggable Storage Engines可以理解为数据库的大脑——逻辑层;
    最下方的Files&Logs可以理解为物理层。

    内容来自《MySQL DBA修炼之道》

    相关文章

      网友评论

          本文标题:MySQL基础架构

          本文链接:https://www.haomeiwen.com/subject/wbkpihtx.html