当前位置:首页 » 《随便一记》 » 正文

Mysql数据库架构设计详解_靖节先生的博客

12 人参与  2022年05月06日 12:17  分类 : 《随便一记》  评论

点击全文阅读


Mysql数据库架构设计详解

  • 1. Msql架构概述

1. Msql架构概述

MySQL架构设计总共分为四层,分别是连接层,服务层,引擎层与存储层。
在这里插入图片描述和其它数据库相比, MySQL 有点与众不同, 它的架构可以在多种不同场景中应用并发挥良好作用。 主要体现在存储引擎的架构上, 插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。 这种架构可以根据业务的需求和实际需要选择合适的存储引擎。

1.连接层
就是基于tcp/ip安全连接的客户端。
最上层是一些客户端和连接服务, 包含本地 sock 通信和大多数基于客户端/服务端工具实现的类似于 tcp/ip 的
通信。 主要完成一些类似于连接处理、 授权认证、 及相关的安全方案。 在该层上引入了线程池的概念, 为通过认证安全接入的客户端提供线程。 同样在该层上可以实现基于 SSL 的安全链接。 服务器也会为安全接入的每个客户端验证它所具有的操作权限。

2.服务层
就是负责sq的接收,解析,优化,缓存等操作。
在这里插入图片描述
3.引擎层
就是存储引擎。
存储引擎层, 存储引擎真正的负责了 MySQL 中数据的存储和提取, 服务器通过 API 与存储引擎进行通信。 不同的存储引擎具有的功能不同, 这样我们可以根据自己的实际需要进行选取。
常见的就是innodb与Myisam。

MyisamInnodb
1myisam是默认表类型不是事物安全的innodb支持事物
2myisam不支持外键Innodb支持外键
3myisam支持表级锁(不支持高并发,以读为主)innodb支持行锁(共享锁,排它锁,意向锁),粒度更小,但是在执行不能确定扫描范围的sql语句时,innodb同样会锁全表
5myisam在磁盘上存储上有三个文件.frm(存储表定义) .myd(存储表数据) .myi(存储表索引)innodb磁盘上存储的是表空间数据文件和日志文件,innodb表大小只受限于操作系统大小
6myisam使用非聚集索引,索引和数据分开,只缓存索引innodb使用聚集索引,索引和数据存在一个文件
7myisam保存表具体行数 ,所以count很快innodb不保存

5.存储层
数据存储层, 主要是将数据存储在运行于裸设备的文件系统之上, 并完成与存储引擎的交互。
就是存储文件。


点击全文阅读


本文链接:http://zhangshiyu.com/post/39595.html

引擎  架构  索引  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1