慢慢体会到这么一个道理,基础决定你的深度,深度将会反应你未来的方向。学习技术我们应该按照这么一个思路,开始我们尽可能多的对它的原理做一定程度的了解,这样我们在实际应用中会有更多的体会,同时我们操作的目的性也会更加明确,查找问题的时候而不是单凭经验去做,更多的时候我们会根据对它结构原理的理解程度去判断分析从而得到最终的解决。
不要在学一个新东西的时候,还是很“本能”地去试图,通过安装它来开始我们的第一步;磨刀不误砍柴功。言归正传,开始我们MySQL体验。
噗嗤,这么大一个图暴露在你的面前,很兴奋吧!这就是MySQL数据库的一个详细的基础架构图,它可以分为三层:第一个浅色的模块是应用层,中间四个深色的模块为逻辑层,最下面那个深色模块右侧的圆柱体是它的物理层。接下来让我们更进一步去走进“她”,了解每部分的功能。
1.Application Layer
MySQL的应用层提供各种用户对数据库的访问,也就是为数据库提供一个访问接口,让外部世界与数据连接起来,起一个桥的作用。实际生活中,我们会遇见很多不同功能桥,最初简陋的独木桥,现在的过街天桥,跨江的公路桥铁路桥,它们都各施其职。而在MySQL应用层中也有这么三种用户:administrators,clients and query users。Administrators可以使用管理型的接口和工具对数据库进行维护操作;比如:只有管理员用户才有权使用mysqladmind去关闭数据库服务,以及对数据库进行创建和彻底删除操作,还有一些分析调优的工具isamchk 和myisamchk、对数据库进行备份恢复操作的mysqldump,也都需要在administrators的权限才能执行。Clients是通过一些接口或是工具利用MySQL APIs对数据库进行访问。Query users是通过查询接口,就是mysql这个命令,去连接数据库,近而发出一些查询请求。
2.Logical Layer
逻辑层是MySQL数据库中核心的功能层,它主要有三大块:查询处理(Query Processor)、事务管理(Transaction Management)、恢复管理(Recovery Management)和存储管理(Storage Management)。