MySQL_MySQL逻辑架构介绍(重要)

引入:

        有一定代码基础的编程人员,相信都有过这样的概念,那么就是对代码(或者是设计的逻辑架构)进行一个分层处理,分层以后,各个部分的代码就各司其职,这样的代码结构清晰,逻辑严谨。而且方便维护和查找错误。那么MySQL数据库作为当前开发设计以及使用的主流数据库,是怎么样的设计使其变得这样的优秀,来看一下MySQL数据库的逻辑架构。

 

经典的MVC系统架构模式

        众所周知,MVC设计模式作为比较经典的一种系统架构模式,由模型(model)-视图(view)-控制器(controller)组成,它是用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。这样的模式使得代码按照一定标准的划分于一个某一个模块类别下面,便于开发者复用代码,查找问题。

一个简单的mvc模式实现对学生的基本的操作(增删查改)

 

MySQL数据库的逻辑架构

内容详解:

1.Connector模块

     该模块主要是用于连接操作MySQL数据库,MySQL通过规范,给出可以通过一定的代码规范能够连接MySQL数据库,并可以通过传递相应的SQL传入和获取结果。如在开发中较为常见的JDBC、ODBC等操作。通过该模块,一些常见的编程语言,如Java、C/C++就可以通过代码实现和数据库内容之间的数据交互。

2.Enterprice Management Serveices & Utilities

   该模块是MySQL数据库服务管理以及使用的一些工具类的模块。如:备份,安全,容灾等内容

3.Connection Pool

   MySQL数据库连接池,监听Connectors发送的连接请求。当接受到连接请求的时候,连接池分配连接的线程给客户端服务,这一个时候客户端和MySQL就可以进行相关的操作。

4.SQL interface

   接受客户端的各种SQL语句,并把SQL操作结果返回。

5.Parser

    SQL解析器,当接收到客户端的各种SQL语句以后,根据SQL语句中的关键字,如是DML、DDL、存储过程还是视图等,通过关键字把SQL拆分,然后进行以下操作:

   (1).拆解过程中是否有语法错误,如果有,则把该语句返回,并把错误报出。

   (2).如果没有错误,就按照不同的操作类型进行分类,分类以后就按照MySQL自定义的逻辑进行拆分,然后做出针对性的转发到后续步骤。

6.Optimizer

    查询优化器,在把SQL语句进行解析以后,MySQL会根据客户端请求的SQL语句,和数据库中的一些统计信息,在一系列算法的基础上进行分析,得出一个最优的策略,告诉后面的程序如何取得这个SQL语句的结果。

7.Cache & Buffer

   缓存,MySQL的缓存主要是对查询结果集的缓存。MySQL把查询的结果先放入到缓存中,当下一次查询的时候就把结果集返回。当然这一个结果集是在基表不发生变化的情况下。如果基表发送变化,那么出查询将会查询查询该表,然后再重复上述操作。使用缓存,在读比例较为高的系统中性能提升较为明显,但是需要注意的是内存的占用。

8.Pluggable Storage Engines(存储引擎接口)

    存储引擎接口,MySQL数据库的存储引擎设计很有特点。可以实现其底层数据存储引擎的插件式管理。也就是说,开发者可以根据自己系统的不同环境要求,选用不同的数据库引擎,实现对数据库表的不同的存储(注意:存储引擎是基于数据库表的,而不是基于库的)。这样就加大了MySQL在不同场景中的适应能力。

9.File System    File & logs

   文件系统以及日志,这一部分内容就是MySQL在计算机上存储数据的相关文件,以及MySQL操作的一些相关日志的记录。

 

MySQL数据库如何执行一条SQL语句

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔笛手7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值