注册 | 登陆
您的位置:阿里西西 > 编程技术 > 数据库教程 > 详细内容

MySQL数据库底层架构与历史讲解

  稿源:本站整理   2018-09-05   点击:   撤稿纠错
回顾MySQL历史背景、基准测试,通过简化细节和演示案例来讨论MySQL的原理
本站收录这篇文章MySQL数据库底层架构与历史讲解,详细解说文章中相关MySQL 数据库 底层 架构 历史 技术与知识,欢迎能给大家一些在这方面的支持和帮助!下面是详细内容:

前言:

本章概要描述MySQL服务器架构、各种存储引擎间的主要区别及区别的重要性

回顾MySQL历史背景、基准测试,通过简化细节和演示案例来讨论MySQL的原理

正文:

MySQL架构可在多种不同场景中应用,可嵌入到应用程序中农,支持数据仓库、内容索引、部署软件、高可用冗余系统、在线事务处理系统等;

MySQL最重要的特性是他的存储引擎架构,使得查询处理及其他系统任务和数据存储、提取分离;

1.1MySQL逻辑架构

1.png

1.2并发控制

锁粒度:

锁策略:在锁开销和数据安全性间寻求平衡,每个存储引擎可实现指定锁策略和粒度

表锁:table lock 最基本的 开销最小 锁定整表

行级锁:row lock 最大程度支持并发 最大的锁开销 在存储引擎层(以自己的方式)实现

1.3事务

独立工作单元,一组原子性SQL查询

隔离级别:

四种,每种规定了事务中所作的修改,较低的隔离可以执行更高的并发、开销也更低

READ UNCOMMITTED未提交读

事务中的修改及时没有提交,对其他事务也是可见的;事务读取未提交的数据:脏读;很少使用

READ COMMITTED提交读

almost库默认隔离级别,非MySQL;事务从开始到结束只看见已提交的事务所作的修改,本身所做的修改对其他事务不可见;不可重复读:两次执行同样的查询,结果可能不一样(其他事务的修改)

REPEATABLE READ可重复读

MySQL默认,解决了脏读,同一事务多次读同样结果;幻读:当某个事务在读取某个范围内的记录时、另一个事务在该范围内插入新的记录,当前事务再次读取该范围记录、幻行

SERIALIZABLE:可串行化

最高,强制事务串行执行,避免幻读问题,读取每行数据时加锁(可导致大量超时和锁争用),很少使用

1.png

死锁

1、两个多个事务在同一个资源上相互占用并请求锁定对方占用的资源;

2、多个事务试图以不同的顺序锁定资源,可能产生死锁;

3、多个事务同时锁定同一个资源;


End. 教程到这里讲完了,阅读是否有所收获呢?本站还提供有MySQL 数据库 底层 架构 历史 相关的内容,欢迎继续阅读。

更多关于 MySQL 数据库 底层 架构 历史 的文章
相关阅读
  • 数据库教程2018-09-05 MySQL数据库底层架构与历史讲解
  • 数据库教程2018-08-09 Mysql数据库利用备份日志binlog实现恢复误删

相关排行总榜

ASP教程

PHP教程

.NET教程

ASP采集功能WinHttp.WinHttpRequest.5.1的
AspJpeg图片处理组件属性的详细中文使用说
通过ASP生成html纯静态页面的简单示例
ASP开发中一个把GB2312转UTF-8编码的函数
推荐几个ASP开发中常用的fso操作文件图片
ASP读取操作生成excel文件的实例代码教程
使用ASP进行网站开发防范ASP木马的10条建
通过ASP调用MSSQL数据库视图和存储过程的
通过aspupload上传组件实现的ASP实现远程
ASP调用MSSQL存储过程进行分页的两种方式
PHP解决HTTP和HTTPS跨域共享session的方法
php程序判断来访客户端是手机端还是电脑P
用PHP来获取当前页面所有url参数信息的教
配置好环境后,进行php代码调试的方法总结
教您使用php代码实现上传图片或文件到服务
PHP开发中推荐十款最出色的安全开发工具库
PHP基础学习之数组介绍
浅谈JSP与ASP.PHP的各种平台应用比较
php制作一个万年历查询的实例代码教程
制作简单安全的php验证码类代码实例
ASP.NET环境配置中几种身份验证方式及权限
记录一次对ASP.NET网站漏洞的入侵和防范教
Asp.net在mvc环境下实现上传头像加剪裁功
对 ASP.NET 异步编程的一点理解与分析
ASP.NET读取与操作Session的代码案例教程
ASP.NET将大文件数据分成较小的部分进行分
讲解.Net组件程序设计之异步调用
AS脚本与Asp.net通过UrlRequest进行前端交
一组常用的.NET命名空间中文解释
asp.net解决url地址栏传递中文参数出现乱