MySQL概述

一、概述
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。
MySQL是一个关联数据库管理系统,将数据保存在不同的表中,而不是将所有的数据放在一个大的仓库内,这样增加了速度并提高了灵活性。
MySQL是开源的,所以不需要支付任何的费用。
MySQL支持大型的数据库,可以处理拥有上千万条记录的大型数据库。
MySQL使用标准的SQL数据语言形式。
MySQL可以允许用于多个系统上,并且支持多种语言。这些编程语言包括,C、C++、Python、Java、PHP等。
MySQL对PHP有很好的支持,PHP目前是最流行的Web开发语言。
MySQL支持大型数据库,支持5000万条数据记录的数据仓库,32位系统表文件最大可支持4GB,64位系统表文件最大可支持8GB。
MySQL是可以定制的,采用了GPL协议,可以修改源码来发开自己MySQL系统。

二、数据文件

  frm 存放表结构
  myd 存放数据Date
  myi 存放表索引

三、MySQL架构:

和其他数据库相比,MySQL有点与众不同,它的架构可以支持在多种不同场景中应用并发挥良好的作用,主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其他的系统任务以及数据的存储提取相分离,这种架构可以根据业务需求和实际需求选择合适的存储引擎。
一、连接层:
最上层是一些客户端的连接服务,包括本地sock通讯和大多数基于客户端服务端工具实现的类似tcp/ip的通讯,主要完成一些连接处理,授权认证、以及相关的安全方案,在该层上引入线程池的概念,为通过认证安全接入客户端提供线程。同样在该层可以实现基于SSL的安全连接,服务器也会为安全接入每个客户端验证他的操作权限
二、服务层:
第二层架构主要完成大多数的核心服务功能,入SQL接口,并完成缓存的查询,SQL的分析和优化及部分内置函数的执行。所有跨存储引擎的功能也在这一层实现,如过程、函数等。在该层,服务器会解析查询并创建像应的内部解析树,并对其完成相应的优化,如确定查询表的顺序,是否利用索引等,最后生成相应的执行操作,如果是select语句,服务器还会查询内部缓存,如果缓存空间足够大,这样在解决大量读操作的环境中能够很好的提升系统的性能。
三、引擎层:
存储引擎层,存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过API与存储引擎进行通信,不同的存储引擎具有不同的功能,这样我们能根据自己的实际需要进行选取。
四、存储层:
数据存储层,主要是将数据存储在运行于裸设备的文件系统上,并完成与存储引擎的交互

posted @ 2021-01-28 15:41  瑾琛  阅读(1086)  评论(0)    收藏  举报