概述
MySQL介绍
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品,世界上最流行的关系型数据库管理系统之一,在 网络应用方面,MySQL是最好的关系数据库管理系统 (Relational Database Management System,RDBMS) 应用软件之一。
MySQL被设计为一个可移植的数据库,几乎能在当前所有的操作系统上运行,比如Linux,Solaris,Mac和Windows。尽管各种系统在底层(如线程)实现方面各有不同,但MySQL几乎总能保证在各平台上的物理体系结构的一致性。
MySQL是一个单进程多进程架构的数据库,但与Oracle多进程的架构有所不同(Oracle的Windows版本也是单进程多进程的架构)。这也就是说,MySQL数据库实例在系统上的表现就是一个进程。
区分数据库、数据库实例、数据库服务器
数据库(Database)
操作系统或存储上的数据文件的集合。MySQL数据库中,数据库文件可以是* .frm、.MYD、.MYI、*.ibd等结尾的文件,不同存储引擎文件类型不同。
数据库实例(Instance)
数据库实例是一个应用程序,是位于用户和操作系统之间的一层数据管理软件,由后台进程或者线程以及一个共享内存区组成。用户对数据库数据的任何操作,都是在数据库实例下进行的。应用程序只有通过数据库实例才能和数据库打交道。
数据库服务器(Database Server)
部署安装数据库实例的服务器。
数据库和数据库实例的关系
通常情况下,数据库实例和数据库是一一对应的关系,也就是一个数据库实例对应一个数据库;但在集群环境中存在多个数据库实例共同使用一个数据库。
MySQL架构
连接层
负责MySQL和其他应用程序的连接交互,包括连接管理、授权认证、安全等。由客户端程序连接和MySQL服务器上的连接池组成。
每个客户端连接都对应着服务器上的一个线程,MySQL服务器上维护了一个线程池,避免为每个连接都创建销毁一个线程。当客户端连接到MySQL服务器时,服务器对其进行认证。登录认证后,还要验证客户端是否有执行某个查询的操作权限。这一层并不是MySQL所特有的技术。
使用连接池的必要性:
每个连接对应一个线程,实际业务中通常有许多个连接访问数据库服务器,如果每次连接都要创建一个新的线程,连接释放则销毁线程,对于系统损耗是非常大的。通过连接池维护和缓存一定的连接,由应用程序动态地对池中的连接进行申请、使用和释放,减少了内存损耗,提升了资源利用率。
服务层(核心层)
该层是MySQL的核心,包括很多重要的服务。分别有:
-
管理服务和工具组件:系统管理和控制工具,例如备份恢复、MySQL复制、集群等 ;
-
SQL接口组件:接受用户的SQL命令,并且返回用户需要查询的结果;
-
查询分析器组件:SQL命令传递到解析器的时候会被解析器验证和解析(权限、语法结构)
-
优化
最后
以上就是尊敬斑马为你收集整理的【MySQL】--架构简介MySQL介绍区分数据库、数据库实例、数据库服务器MySQL架构一个查询流程图的全部内容,希望文章能够帮你解决【MySQL】--架构简介MySQL介绍区分数据库、数据库实例、数据库服务器MySQL架构一个查询流程图所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复