Romennts 致力于成为最会弹钢琴的架构师

高性能MySQL开山(第一章)

2017-03-25
Romennts

前言

本书仰慕已久,在入门MySQL许久之后,拿起本书,都是那些踩过的坑。读完第一章,颇有重拾当年大二数据库原理的味道,相比之下又有很强的实践性,算是MySQL IN ACTION…不,前面应该再加上个High Performance.

昨天重新fork了一份GitPage,感觉好久没用博客写文章,一直用微信公众平台写文章,总会感到有些浮躁,而在博客却不会~~

概述

第一章从表面说了MySQL的架构,以及一些关于MySQL历史。主要强调各个MySQL引擎对于锁的不同实现和MySQL服务概念,我们经常说的MySQL是一个三层架构,内部是一层层的抽象,举个例子,JDBC使用的是第一层架构,储存过程、触发器、视图等属于第二层,第三层是储存引擎。我们平时执行sql语句,得益于这些高度封装、抽象的层级架构,屏蔽底层,使得查询过程变得透明。不得不说是,不同的存储引擎之间不会相互通信,而是简单的相应上层服务器的请求。

适用人群

用过MySQL觉得需要开始优化性能~~

补充

看完知道InnDB原来是MySQL的一种引擎,而且有很多替代品,例如除了InnDB还有著名的MyISAM。 值得一提的是,近年看到各种开源数据库,一头雾水的,其实很多都是MySQL的衍生品(或者说是社区分支版本)。例如淘宝用的Percona 5.5.18 ,Google派支持的MariaDB。这么多的数据库,学不完的,学其根源才是关键的,大都是大同小异。就像开车一样(并没老司机开车的味道),车与车区别主要是引擎不同,然后加点外壳和烤漆,这么多中引擎都熟悉是不可能的,毕竟我只开秋名山,想会漂移,那就要看自己的操控技术了,什么时候加速,什么时候踩刹车,全看个人。

说远了,我的天。

用第一章总结的那句话结束:

如果能理解MySQL在存储引擎和服务之间处理查询如果可以理解存储引擎和服务层之间如何通过API进行来回交互,那么就能抓住MySQL的核心基础架构的精髓。


Comments