mysql 架构简介
mysql的逻辑架构
第一层:进行连接处理、权限认证、安全校验等。
当客户端(应用)连接到mysql服务器时,服务器会创建使用一个线程进行处理连接(少量的线程服务大量的连接),随后服务器需要对该连接进行认证,认证就是基于用户名、原始主机信息和密码。如果使用了安全套接字(ssl)的方式连接,还可以使用证书认证。一旦客户端连接成功,服务器会继续验证该客户端是否具有执行某个特定查询的权限(例如,是否允许客户端对p2p数据库的user表进行update 操作)
第二层:核心服务功能都在这层,包括查询解析、分析、优化、缓存以及所有内置函数(例如:日期时间、数学和加密等),所有跨存储引擎的功能都在这层实现:存储过程、触发器、视图等。
Mysql会解析查询并创建内部数据结构(解析树),然后对其进行各种优化,包括重写查询、决定表的读取顺序,以及选择合适的索引等。用户可以使用优化器解析了解优化过程,进行相关配置和操作,使执行更有效率。
第三层:存储引擎。
存储引擎负责mysql数据的存储与提取。MySQL定义了一系列抽象存储引擎API,服务器通过API与存储引擎进行通信,API由存储引擎实现,这些接口屏蔽了不同存储引擎之间的差异,使得这些差异对不同存储引擎之间是透明的。存储引擎API包含几十个底层函数,用于执行诸如开启一个事务、或者根据主键提取一行数据等的操作。存储引擎不会解析sql
mysql 架构简介的更多相关文章
- MySQL架构简介
- MySQL 架构
原文:MySQL 架构 MySQL架构和结构分析 官方架构图: MySQL DB 各模块架构图如下: MySQL安装方式 MySQL初始化 简介:什么是事务: 事务: ACID : 事务确保了银行不 ...
- mysql 架构 ~异地容灾
一 简介 我们来探讨下多机房下的mysql架构二 目的: 首先要清楚你的目的 1 实现异地机房的容灾备份 2 实现异地机房的双活 三 叙说 1 实现异地机房的容灾备份 ...
- flume+kafka+storm+mysql架构设计
前段时间学习了storm,最近刚开blog,就把这些资料放上来供大家参考. 这个框架用的组件基本都是最新稳定版本,flume-ng1.4+kafka0.8+storm0.9+mysql (项目是mav ...
- nginx 练习(将游戏图片部署到NFS+LNMP架构简介+uwsgi架构简介)
nginx(将游戏图片部署到NFS) 练习 一.首先去NFS这里创建挂载点 1.先在NFS的opt下面创建文件夹存放图片 [root@linux opt]# mkdir /opt/img 2.然后将此 ...
- 步步深入:MySQL架构总览->查询执行流程->SQL解析顺序
前言: 一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一篇博文了. 本文将从MySQL总体架构--->查询执行流程--->语句执行顺序来 ...
- ch2 MySQL 架构组成
第 2 章 MySQL 架构组成 前言 麻雀虽小,五脏俱全.MySQL 虽然以简单著称,但其内部结构并不简单.本章从 MySQL 物理组成.逻辑组成,以及相关工具几个角度来介绍 MySQL ...
- LoadRunner系统架构简介
1.LoadRunner系统架构简介 LoadRunner是通过创建虚拟用户来代替真实实际用户来操作客户端软件比如Internet Explorer,来向IIS.Apache等Web服务器发送HTTP ...
- mysql笔记01 MySQL架构与历史、Schema与数据类型优化
MySQL架构与历史 1. MySQL架构推荐参考:http://www.cnblogs.com/baochuan/archive/2012/03/15/2397536.html 2. MySQL会解 ...
随机推荐
- 关于JSON的零碎小知识
1.ali的fastjson在将实体类转成jsonString的时候,一些首字母大写的字段会自动修改为小字母,这种字段加 @JsonProperty(value = "DL_id" ...
- 最全总结 | 聊聊 Python 数据处理全家桶(Redis篇)
1. 前言 前面两篇文章聊到了 Python 处理 Mysql.Sqlite 数据库常用方式,本篇文章继续说另外一种比较常用的数据存储方式:Redis Redis:Remote Dictionary ...
- MySQL中concat()、concat_ws()、group_concat()函数的使用技巧与心得总结
Author:极客小俊 一个专注于web技术的80后 我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人! CSDN@极客小俊,原创文章, B站技术分享 B站视频 : Bilibili.c ...
- C 类型限定符
C 类型限定符 1. Introduction C 语言中的大部分类型都可以用称为限定符(qualifier)的关键字 const. volatile. restrict. _Atomic 加以限定. ...
- Python练习题 039:Project Euler 011:网格中4个数字的最大乘积
本题来自 Project Euler 第11题:https://projecteuler.net/problem=11 # Project Euler: Problem 10: Largest pro ...
- NodeJS二进制合并
Node.js 批量文件合并code cnblogs @ Orcim 本 文主要介绍使用 Node 进行 ACB 序列文件(Atom CueSheet Binary,编译 AtomCueSheet ...
- This is Riv3r1and.
总是要弄个博客来搞的嘛.
- plt.imshow()显示图片色差问题
转载:https://www.cnblogs.com/darkknightzh/p/6039667.html 由于系统缺少某些库,导致cv2.imshow()无法使用,于是使用matplotlib.p ...
- c++中CreateEvent函数
参考:https://blog.csdn.net/u011642774/article/details/52789969 函数原型: HANDLE CreateEvent( LPSECURITY_AT ...
- uint16_t
转自:https://blog.csdn.net/kiddy19850221/article/details/6655066 uint8_t / uint16_t / uint32_t /uint64 ...