第一章 mysql 的架构与历史】的更多相关文章

在读第一章的过程中,整理出来了一些重要的概念. 锁粒度  表锁(服务器实现,忽略存储引擎). 行锁(存储引擎实现,服务器没有实现). 事务的ACID概念 原子性(要么全部成功,要么全部回滚). 一致性(从一个一致性状态转换到另外一个一致性状态). 隔离性(一个事务所做的修改在提交前,对其他事务是不可见的). 持久性(一旦事务提交,所有修改都会永久保存到数据库中). 四种隔离级别 READ UNCOMMITTED(未提交读): 事务即使没有提交,所做的修改对其他事务是可见的.  也称脏读. REA…
一.mysql 的逻辑架构 1.连接管理与安全性 2.优化与执行 二.并发控制 1.读写锁 2.锁粒度 三.事物 1.隔离级别 2.死锁 3.事物日志 四.多版本并发控制 五.Mysql 的存储引擎…
1.可以使用SHOW TABLE STATUS查询表的相关信息. 2.默认存储引擎是InnoDB,如果没有什么很特殊的要求,InnoDB引擎是我们最好的选择. 3.mysql的infobright引擎——Infobright是开源的MySQL数据仓库解决方案,引入了列存储方案,高强度的数据压缩,优化的统计计算(类似sum/avg/group by之类). 4.TokuDB——TokuDB 其实本身数据存储用到了B-TREE的变形版本Fractal-Tree. 5.查看MySQL版本SELECT…
1.可以使用SHOW TABLE STATUS查询表的相关信息. 2.默认存储引擎是InnoDB,如果没有什么很特殊的要求,InnoDB引擎是我们最好的选择. 3.mysql的infobright引擎——Infobright是开源的MySQL数据仓库解决方案,引入了列存储方案,高强度的数据压缩,优化的统计计算(类似sum/avg/group by之类). 4.TokuDB——TokuDB 其实本身数据存储用到了B-TREE的变形版本Fractal-Tree. 5.查看MySQL版本SELECT…
1.MySQL逻辑架构 MySQL存储引擎架构:将查询处理以及其他任务系统和数据的存储处理分离开来,这样做的好处在于可以根据需要灵活选择存储引擎. 第一层架构 -- 连接处理.授权认证.安全等. 第二层架构 -- MySQL的核心服务功能:存储过程.触发器.视图.查询缓存.查询解析.查询优化.函数等等. 第三层架构 -- 实现了不同的存储引擎,存储引擎负责MySQL中数据的存取. 2.并发控制 2.1 读写锁 读锁是共享的,互相不阻塞的,多个客户端在同一时刻可以同时读取同一个资源而不互相影响.…
这本书去年11月出的,今年中文版也出了,并且直接上了微信读书,之后有空就读一读,分享下读书笔记~ 原文内容比较充实,建议有时间可以读一下原文. 第一章主要是个概览. MySQL的逻辑架构 默认情况下,每个客户端连接都会在服务器进程中拥有一个线程,该连接的查询只会在这个单独的线程中执行,该线程驻留在一个内核或者CPU上. 线程池 优化器会向存储引擎询问它的一些功能.某个具体操作的成本,以及表数据的统计信息. query cache 5.7.20弃用 8.0移除 考虑应用自己在redis中缓存 并发…
MySQL架构与历史 和其他数据库系统相比,MySQL有点与众不同,它的架构可以在多种不同的场景中应用并发挥好的作用,但同时也会带来一点选择上的困难.MySQL并不完美,却足够灵活,它的灵活性体现在很多方面.例如,你可以通过配置使它在不同的硬件上都运行得很好,也可以支持多种不同的数据类型.但MySQL最重要的是它的存储引擎架构,这种架构的设计将查询处理.及其他系统任务和数据的存储/提取相分离.这种处理和存储分离的设计可以在使用时根据性能.特性以及其他需求来选择数据的存储方式. MySQL逻辑架构…
mysql的服务器逻辑架构图如下: 目前工作用的5.5版本,5.5版本开始mysql开始将innoDB作为默认的存储引擎,innoDB的表是基于聚簇索引建立的. mysql的存储引擎锁管理非常重要,在给定的资源上,锁定的数据量越少,则系统的并发程度越高,只要相互之间不发生冲突即可. 共享锁也叫读锁,排他锁也叫写锁. 事务的特性ACID,A原子性(atomicity)C一致性(consistency)I隔离性(isolation)D持久性(durability) 事务的隔离级别有:1.read u…
1.1  mysql逻辑结构 第一层: 负责连接处理,授权认证,安全等事情 第二层:负责mysql的大部分核心功能 ,查询解析,分析,优化,缓存和所有的内置函数,所有跨存储引擎的功能都在这一层实现,,存储过程,视图,触发器等 第三层:存储引擎,负责mysql中数据的提取和存储: 1.2 并发控制—— 共享锁:也叫读锁,读锁是共享的,多个连接可以同时获取数据并互不干扰! 排他锁:也叫写锁,排他性,阻塞其他的写锁和读锁:在同一时间内,只能有一个用户执行写入操作,并且防止其他用户进行读取正在写入的同一…
多版本并发控制 MySQL的大多数事务型存储引擎实现的都不是简单的行级锁.基于提升并发性能的考虑,它们一般都同时实现了多版本并发控制(MVCC).不仅是MySQL,包括Oracle.PostgreSQL等其他数据库系统也都实现了MVCC,但各自的实现机制不尽相同,因为MVCC没有一个统一的实习标准. 可以认为MVCC是行级锁的一个变种,但是它在很多情况下避免了加锁操作,因此开销更低.虽然实现机制不同,但大都实现了非阻塞的读操作,写操作也只锁定了必要的行. MVCC的实现,是通过保存数据在某个时间…