MySql轻松入门系列——第一站 从源码角度轻松认识mysql整体框架
一:背景1. 讲故事最近看各大技术社区,不管是知乎,掘金,博客园,csdn基本上看不到有小伙伴分享sqlserver类的文章,看来在国内大环境下是不怎么流行了,看样子我再写sqlserver是不可能再写了,这辈子都不会写了,只能靠技术输出mysql维持生活这样子。 二:了解架构图mysql最大的好处就是开源, 手握百万源码,有什么问题搞不定呢? 这一点要比sqlserver爽多了,不用再dbcc捣来捣去。 1. 从架构图入手大家都知道做/装修房子都要有一张图纸,其实软件也是一样,只要有了这么一张图纸,大方向就定下来了,再深入到细节也不会乱了方向,然后给大家看一下我自己画的架构图,画的不对请轻拍。 其实SqlServer,Oracle,MySql架构都大同小异,MySql的鲜明特点就是存储引擎做成了插拔式,这就牛逼了,现行最常用的是InnoDB,这就让我有了一个想法,有一套业务准备用 InMemory 模式跑一下,厉害了~~~ 2. 功能点介绍MySql其实就两大块,一块是MySql Server层,一块就是Storage Engines层。 <1> Client不同语言的sdk遵守mysql协议就可以与mysqld进行互通。 <2> Connection/Thread PoolMySql使用C++编写,Connection是非常宝贵的,在初始化的时候维护一个池。 <3> SqlInterface,Parse,Optimizer,Cache对sql处理,解析,优化,缓存等处理和过滤模块,了解了解即可。 <4> Storage Engines负责存储的模块,官方,第三方,甚至是你自己都可以自定义实现这个数据存储,这就把生态做起来了, (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |