• mysql 重新整理——逻辑架构[二]


    前言

    在此简洁逻辑架构,mysql的基础逻辑架构其实和sql server很像的。

    正文

    首先是客户端,发起了连接。

    然后呢连接池后那一块,就是有分析器的那一块,那一块是干啥的呢。

    其实我们写的语句呢,在mysql 不是这样子的,它要转换成自己的查询语句,通俗的说,我们调用的其实是api,不是真正的mysql 执行语句。

    我们查询的数据中,是有块缓存的,基本上查询一条语句基本都有缓存,所以说会先去查询缓存,然后如果没有的话,那么会去查数据。

    我们看到怎么有一个优化器呢?这就是mysql 自动会帮我们优化代码。听说阿里就是自己写了优化器提示性能的。

    抄一段:

    第三层包含了存储引擎。存储引擎负责MySQL中数据的存储和提取。
    服务器通过API和存储引擎进行通信。这些接口屏蔽了不同存储引擎之间的差异,使得这些差异对上层的查询过程透明化。
    存储引擎API包含十几个底层函数,用于执行“开始一个事务”等操作。但存储引擎一般不会去解析SQL(InnoDB会解析外键定义,因为其本身没有实现该功能),不同存储引擎之间也不会相互通信,而只是简单的响应上层的服务器请求。
    

    也是就说存储引擎才是真正的去执行读写,可见其重要性。

    再盗一张图:

    1.Connectors

    连接者,其实就是客户端。

    怎么说呢,其实mysql 和 客户端之间是有协议的,只有遵守这个协议就可以和mysql沟通,调用mysql的api。

    2.Connect Pool

    管理缓冲用户连接,线程处理等需要缓存的需求。

    3.Management Serveices & Utilities
      系统管理和控制工具。
    4. SQL Interface 接受用户的SQL命令,并且返回用户需要查询的结果。

    5.Parser
      SQL命令传递到解析器的时候会被解析器验证和解析。

    6、 Optimizer

    7 、Cache和Buffer
      查询缓存:主要功能是将客户端提交 给MySQL 的 Select 类 query 请求的返回结果集 cache 到内存中,与该 query 的一个 hash 值 做一个对应。
      查询优化器:SQL语句在查询之前会使用查询优化器对查询进行优化。

    8 、存储引擎接口
      MySQL区别于其他数据库的最重要的特点就是其插件式的表存储引擎。

    工作流程:

    依然是盗图。

  • 相关阅读:
    Oracle错误一览表
    CAP原理
    阿里巴巴供应链平台事业部2020届秋招-Java工程师
    IM即时通信软件设计
    邮箱核心业务领域建模
    DDD中的聚合和UML中的聚合以及组合的关系
    对关系建模
    DDD战略设计相关核心概念的理解
    DDD领域建模基本流程
    谈谈Paxos一致性算法和一致性这个名词
  • 原文地址:https://www.cnblogs.com/aoximin/p/12991827.html
Copyright © 2020-2023  润新知