Mysql 体系结构系列之一

前言:在写这篇mysql体系结构之前,脑袋里面想了半天它与oracle的体系结构的区别,本来以为mysql是简单的,比起oracle来,但是认真梳理,查找资料,发现并非如此。先来看一下mysql的体系结构图。

1.Mysql 架构图

从图1.1 可以发现,Mysql 由以下几个部分组成:

>>Connection Pool  连接池组件

>>Management Service & Utillties 管理服务和工具组件

>>SQL Interfaqce SQL接口组件

>>Parser Query  查询分析器组件

>>Optimizer  优化器组件

>>Caches & Buffers 缓冲区组件

>>Pluggable Storage Engines  插件式存储引擎

>>Physics file  物理文件

 

在了解mysql的体系结构之前,还是要做一些相关的知识疏导,什么是数据库?什么是数据库实例?

2.数据库与数据库实例

2.1数据库

物理操作系统文件或其他形式文件类型的集合(持久性数据的某些集合组成)。在Mysql里面,数据库文件可以是frm、myd、myi、ibd结尾的文件。当使用NDB引擎时,数据库的文件可能不是操作系统上的文件,而是存放于内存之中的文件,但是定义仍然不变。

2.2数据库实例

由数据库后台进程/线程以及一个共享内存区组成。共享内存可以被运行的后台进程/线程所共享。需要记住的是,数据库实例才是真正用来操作数据库文件的。

在Mysql中,实例和数据库的通常关系是一一对应的,即一个实例对应一个数据库,一个数据库对应一个实例,但是,在集群情况下可能存在一个数据库可被多个实例使用的情况。

Mysql被设计为一个单进程多线程架构的数据库,这点与SQL Server比较类似,但是与Oracle多进程的架构有所不同(Oracle的Windows版本也是单进程多线程的架构)。这也就是说,MySQL数据库实例在系统上的表现就是一个进程。

小结:

打个比喻:一筐碎石头,百来块,我们离它们很远,无法直接去拿取,那怎么办呢?那就制作一个工具吧,一个竹竿上面套一个口袋,我们可以用这个竹竿上的口袋去套取石头。碎石头就是存取的数据,竹竿上的口袋就是数据库管理工具,诸如Oracle,Mysql,Sql Server等等。而我们用工具去取石头,借用的各种力就是数据库实例。这里纯取个人理解,解释的不好,请大家见谅。。

 

小注解:一个小的知识点,但是理解起来还是费了不小劲,有点伤神呀,所以决定慢慢来理清,化繁为简,思而存之。

待续。。。。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值