00:00
本节课我们来讨论一下MYSQL的体系架构。MYSQL是一个非常受欢迎的开源关系型数据库,很多网站的数据库都是使用MYSQL,尤其是在互联网领域中。由于MYSQL的开源特性,有很多MYSQL的爱好者为了使其更适合自己的环境需要,便对MYSQL进行了改造,因此MYSQL数据库便有了一些分支。下面列举几个比较主要的MYSQL分支,一、Oracle官方版本的MYSQLMYSQL最初由瑞典MYSQLAB公司开发,在2008年的时候,Sun公司收购了MYSQL,而在2009年的时候,Oracle公司又收购了sun公司,最终MYSQL成了Oracle公司的产品。2、Maria DB由于MYSQL被收购,导致了一批工程师的离开,这些工程师基于麦SQ的开源特性开发了新版本的数据库,这就是后来的Maria DB 3、pocona sva phoneco.
01:00
Pocona公司开发了pocona SR, 并对MYCQ数据库服务器进行了改进,改进后的版本在功能和性能上有着显著的提升。有了这些基本的知识,下面讨论一下MYS库数据库的体系架构。总体上看,整个MYS库数据库的服务器端分为存储引擎层和server层。首先讨论一下存储引擎层,它负责数据的存储和提取。阴道DB是MYSQL中最常用的存储引擎,从my seql5.5.5版本开始,它成为了默认存储引擎。My I samm是5引1版本之前my seql默认的存储引擎,该存储引擎主要用于管理非事物表。Memory是my seql基于内存的存储引擎,当my seql使用这种存储引擎时,表中的数据只存在于当前MYSQL数据库实例的内存中。如果MYSQL重新启动或者关闭,此时的数据将会丢失。
02:00
除了以上介绍的这三种存储引擎,MYSQL也支持其他多种存储引擎。有了存储引擎层的支持,便有了基于它的server层。该层主要有以下七个组件,1、connectors组件,它是MYSQL向外提供的交互组件,java.netphp等语言可以通过该组件来操作SQL语句,实现与MYSQL的交互。2、connection pool, 该组件负责监听客户端向MYSQL服务器端的各种请求,并将请求转发到目标拈。3、management service utilities, 它提供对MYSQL的集成管理,如备份、恢复、安全管理等。4、SQL interface, 该组件接收用户SQL命令,如DMLDDL和存储过程等,并将最终结果返回给用户。5、查询分析器组件PA,它用于解析SQL语句的语法和语义。6、优化器组件optimizea,它是MYS。
03:00
QL在真正执行SQL语句之前所做的最后一步优化。7、缓存组件query cache buff, 它用于缓存查询的结果数据,但是在my seql8.0版本之后,该组件被直接删掉了。现在你已经知道my seql的体系架构了,那你知道posts seql的体系架构吗?好了,记得点加号关注赵于强老师。
我来说两句