Mysql 逻辑架构图及日志系统

1、Mysql逻辑架构图

场景一:一条SQL语句如何执行?

如图显示一条SQL语句的执行过程:

执行器的执行流程:

2、Mysql日志系统

说到日志系统,需要了解几个概念:creash-safe、redo log、binlog、WAL技术。

Redo log用于保证crash-safe能力。innodb_flush_log_at_trx_commit =1表示每次事务的redo log 都持久化到磁盘,保证mysql异常重启之后数据不丢失。Sync_binlog=1参数设置为1,表示每次事务的binlog都持久化到磁盘,保证mysql异常重启之后binlog不丢失。

Crash-safe:有了redo log,InnoDB就可以保证即使数据库发生异常重启,之前提交的记录都不会丢失。

日志系统只要有2个模块:存储引擎里的redo log日志;服务器-执行器中的binlog归档日志。

WAL技术:Write-Ahead Loggin,先记录到归档日志redo log里面,更新完成。InnoDB引擎在适当的时候,将这个更新记录更新到(服务器-执行器)磁盘。(闲时)

PS:归档日志大小可以进行配置

场景一:一条SQL更新语句是如何执行的?

前提:创建表 create table T(ID int primary key,c int),插入一条ID=2的语句。

原文地址:https://www.cnblogs.com/wendyw/p/11546223.html

时间: 2024-08-06 06:38:03

Mysql 逻辑架构图及日志系统的相关文章

MySQL逻辑架构概述

1.MySQL逻辑架构 MySQL逻辑架构图 MySQL逻辑架构分四层 1.连接层:主要完成一些类似连接处理,授权认证及相关的安全方案. 2.服务层:在 MySQL据库系统处理底层数据之前的所有工作都是在这一层完成的,包括权限判断,SQL接口,SQL解析,SQL分析优化, 缓存查询的处理以及部分内置函数执行(如日期,时间,数学运算,加密)等等.各个存储引擎提供的功能都集中在这一层,如存储过程,触发器,视图等. 3.引擎层:是底层数据存取操作实现部分,由多种存储引擎共同组成.真正负责MySQL中数

MySQL逻辑架构简介

一.逻辑架构图总体概览 和数据库相比,MySQL有点与众不同,他的架构可以在多种不同场景中应用并发挥良好作用,主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其他的系统任务以及数据存储的存储提取相分离,这种架构可以个根据业务的需求和实际需要选择合适的存储引擎. 可分为以下几层: 1.连接层 最上层是一些客户端和连接服务,包括本地sock通信和大多数基于客户端/服务端工具实现的类似于tcp/ip的通信.主要完成一些类似于连接处理.授权认证.及相关的安全方案.在该层上引出了线程池的概念,

MySQL逻辑架构

1.MySQL服务器逻辑架构图 最上层的服务并不是MySQL所独有的,大多数基于网络的客户端/服务器的工具或者服务器都有类似的结构.比如连接处理.授权认证.安全等等.. 第二层架构是MySQL比较有意思的部分.大多数MySQL的核心服务功能都在这一层,包括查询解析.分析.优化.缓存以及所有的内置函数,所有跨存储引擎的功能都在这一层实现:存储过程.触发器.视图等. 第三层包含了存储引擎.存储引擎负责MySQL中数据的存储和提取.和GNU/Linux下的各种文件系统一样,每个存储引擎都有它的优势和劣

mysql 逻辑架构(三层)

1.客户端(主要处理连接,授权认证,安全等). 2.MYSQL服务器层(核心服务功能都在这层,包括,查询解析,分析,优化,缓存以及所有的内置函数,所有跨存储引擎的功能都在这层实现:存储过程,触发器,视图等). 3.存储引擎层(负责MYSQL中数据的存储和提取,服务器通过API与存储引擎进行通信.这些接口屏蔽了不同存储引擎之间的差异.存储引擎不会去解析SQL,InnoDB是个例外,它会解析外键定义.不同的存储引擎间不会相互通信,只是简单的层服务器请求.) mysql 逻辑架构(三层),布布扣,bu

《高性能MySQL》读书笔记--MySQL逻辑架构

一.MySQL逻辑架构 MySQL最重要的.最与从不同的特性是它的存储引擎架构,这种构架的设计将查询处理及其它系统任务和数据的存储/提取相分离. 第一层,服务层,最上层的服务并不是MySQL独有的,大多数基于网络的客户端/服务端的工具或者服务都有类似的架构.主要为请求做连接处理,授权认证,安全等. 第二层,核心层,大多数MySQL的核心服务功能都在这一层,包括查询解析,分析,优化,缓存,以及所有的内置函数(例如日期.时间.数学和加密函数),所有跨存储引擎的功能都在这一层实现:存储过程,触发器,视

MySQL逻辑架构(一)

MySQL 逻辑系统架构: 可以分为连接器,连接池,Sql接口,解释器,优化库,缓冲区,缓存,引擎 MySQL逻辑结构刻意看成二层架构,第一层通常叫做SQL Layer 在数据库系统处理底层数据 包括权限判断,SQL解析执行计划优化,query chche的出理等等第二层就是存储引擎 ,通常叫做 storageEngine Layer 也就是底层数据存取操作的实现部分有多种存储引擎共同组成MySQL存储引擎介绍:MySQL在5.1之前的版本中,存储引擎是需要在MySQL安装的时候就必须和MySQ

MySql 逻辑架构

连接层 当Mysql 启动  等待客户端连接请求,服务器都会新建一个线程处理(如果是线程池的话,则是分配一个空的线程),每个线程独立,拥有各自的内存处理空间,但是,如果这个请求指示查询,没关系,但是若是修改数据,很显然,当两个线程改同一块内存是会引发数据同步问题 连接到服务器,服务器需要进行验证,也就是用户名,ip,密码验证,一但连接成功,还要验证是否具有执行某个特定查询的权限(如 是否允许客户端对某个数据库某个表的某个操作) Sql 处理层 缓存 -- 数据缓存是否开启show variabl

mysql高级教程(一)-----逻辑架构、查询流程、索引

mysql逻辑架构 和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用.主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离.这种架构可以根据业务的需求和实际需要选择合适的存储引擎. 1.连接层 最上层是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于tcp/ip的通信.主要完成一些类似于连接处理.授权认证.及相关的安全方案.在该层上引入了线程池的概念,为通过认证安全接入的客户

MySQL基础篇(05):逻辑架构图解和InnoDB存储引擎详解

本文源码:GitHub·点这里 || GitEE·点这里 一.MySQL逻辑架构 1.逻辑架构图 基于下面的逻辑架构图,可以大致熟悉MySQL各个架构组件之间的协同工作关系. 很经典的C/S架构风格,即客户端/服务端模式. 2.分层描述 客户端连接 通常会进行连接池管理,连接用户权限认证,安全管理等操作. 可以通过如下命令查看连接配置信息:SHOW VARIABLES LIKE '%connect%';可以看到最大连接和每个连接占用的内存等相关配置. 核心功能 第二层架构封装MySQL一系列核心