Mysql系统(一):带你走近Mysql的世界

    1.学习背景        

    最近终于有时间静下心来,好好钻研一下Mysql了,特此开了Mysql系列文章,与大家一起分享小生的心得体会,有错误的地方,欢迎各位大佬指正。其实说起钻研mysql也并非是一时兴起,应该是蓄谋已久。现在微服务搞得可以说是如火如荼,我所在的公司也受到这股浪潮的影响,系统的架构方式也逐渐向微服务做转化,而在数据库的选择方面,也由传统的Oracle转移到了Mysql上,但是为了充分发挥Mysql的性能并熟练的使用它,就必须了解它的设计原理。

    2.Mysql的特性    

    Mysql相比于其它的数据库系统来说,并不那么完美,但是它足够灵活,它的灵活体现在很多方面。例如,你可以通过配置使它很好的运行在不同的硬件环境上,同时它还支持多种数据类型。但是,Mysql最重要的,最与众不同的特性是它的存储引擎设计,这种设计将查询处理,和数据的提取/存储进行了分离,这种分离设计可以在我们使用时根据性能和业务需求来选择合适的数据存储方式。

    3.Mysql的逻辑结构

    在我们进行系统开发和系统架构时通常都会采用分层来实现,Mysql也是如此,千言万语,不如一图:


    从图中可以看出,Mysql的架构大致分为三层,最上面的一层在大多数基于网络CS或者BS的工具或者服务器都有类似的架构,比如链接处理,认证授权,安全等等。从第二层开始,就进入了Mysql核心的部分,包括查询的解析,优化,缓存,以及所有的内置函数,存储过程,触发器,视图等等就都在这一层了。而我们前面所属的Mysql的最重要的特性存储引擎就在第三层,存储引擎负责数据的提取和存储,服务器通过API与存储引擎进行通信,这块的设计有点像我们Java中的策略模式,它会通过接口层屏蔽底层的实现细节,而且每个存储引擎之间互相不受影响,存储引擎API中包含几十个底层函数,用于执行事务,提取记录,但是存储引擎并不会解析SQL。

    4.总结

   第一篇文章我们大致聊了一下,我写Mysql系列文章的初衷,简单介绍了Mysql的特性和架构设计,让大家从宏观的角度来重新认识了一下Mysql,其实我们在做技术选型时,不单单要从技术走向去选择,选择的重心应该放到公司具体的业务上,应该是技术随着业务迭代,而不是业务随着技术迭代。下一篇我会为大家详细介绍一下Mysql引擎的发展历史,只有了解历史才会有助于我们更好的理解Mysql,甚至预测Mysql未来的技术走向。

    

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值