文章 2022-02-17 来自:开发者社区

MySQL8.0: 重新设计的日志子系统

Update 2018/12/14: 增加log write ahead的内容2018/6/19 官方发表了一篇博客介绍内核实现:MySQL 8.0: New Lock free, scalable WAL design 背景 当前几乎所有的关系数据库都采用日志先行的方式,也就是所谓WRITE-AFTER-LOG(WAL),这是因为日志通常是顺序写的,并且写入量相比修改的数据通常要小很多。通过r....

文章 2018-02-02 来自:开发者社区

MySQL · 引擎特性 · Innodb 锁子系统浅析

锁类型Innodb 的锁从锁粒度上大致可以分为行锁和表锁,之前接触过的Berkeley DB(MySQL 5.1前的事务储存引擎,后被 Innodb 取代)只对存储格式为 Hash 的定长数据支持行锁,对于 Btree 格式的仅支持页锁,作为 KV 类型的存储引擎,锁的类型也相对简单。Innodb 根据官方文档的描述,除了基本的共享锁和排他锁,还有意向锁,Gap锁,Next key锁等类型,最开....

文章 2017-03-21 来自:开发者社区

MySQL · 引擎特性 · InnoDB IO子系统

前言 InnoDB做为一款成熟的跨平台数据库引擎,其实现了一套高效易用的IO接口,包括同步异步IO,IO合并等。本文简单介绍一下其内部实现,主要的代码集中在os0file.cc这个文件中。本文的分析默认基于MySQL 5.6,CentOS 6,gcc 4.8,其他版本的信息会另行指出。 基础知识 WAL技术 : 日志先行技术,基本所有的数据库,都使用了这个技术。简单的说,就是需要写数据块的时候.....

文章 2016-05-23 来自:开发者社区

MySQL · TokuDB · 日志子系统和崩溃恢复过程

TokuDB日志子系统 MySQL重启后自动加载InnoDB和其他的动态plugin,包括TokuDB。每一plugin在注册的时候指定init和deinit回调函数。TokuDB的init/deinit函数分别是tokudb_init_func和tokudb_done_func。 MySQL重启过程中调用tokudb_init_func进行必要的初始化。在tokudb_init_func里面,....

文章 2016-05-23 来自:开发者社区

MySQL · TokuDB · 事务子系统和 MVCC 实现

前言 之前有篇月报是关于innodb事务子系统的《MySQL · 引擎特性 · InnoDB 事务子系统介绍》 里面较详细的讲述了 MySQL 如何开启一个事务,感兴趣的同学可以先阅读那篇温习一下。 TokuDB 引擎也支持事务,保证一个事务内的所有操作都执行成功或者都未被执行。TokuDB中的事务由数据结构 tokutxn 表示。当开启一个 txn 时,TokuDB会创建一个 toku...

MySQL · TokuDB · 事务子系统和 MVCC 实现
文章 2016-05-23 来自:开发者社区

MySQL · 引擎特性 · InnoDB 事务子系统介绍

前言 在前面几期关于 InnoDB Redo 和 Undo 实现的铺垫后,本节我们从上层的角度来阐述 InnoDB 的事务子系统是如何实现的,涉及的内容包括:InnoDB的事务相关模块、如何实现MVCC及ACID、如何进行事务的并发控制、事务系统如何进行管理等相关知识。本文的目的是让读者对事务系统有一个较全面的理解。 由于不同版本对事务系统都有改变,本文的所有分析基于当前GA的最新版本MySQL....

MySQL · 引擎特性 · InnoDB 事务子系统介绍
文章 2016-05-23 来自:开发者社区

MySQL内核月报 2014.11-MySQL· 5.7优化·Metadata Lock子系统的优化

背景 引入MDL锁的目的,最初是为了解决著名的bug#989,在MySQL 5.1及之前的版本,事务执行过程中并不维护涉及到的所有表的Metatdata 锁,极易出现复制中断,例如如下执行序列: Session 1: BEGIN; Session 1: INSERT INTO t1 VALUES (1); Session 2: Drop table t1; --------SQL写入BINLO.....

文章 2016-05-10 来自:开发者社区

MySQL 5.7: Innodb 事务子系统优化

MySQL5.7 : Innodb 事务子系统优化 之前写了篇博客介绍了Percona Server对Read View的优化,顺带简单提到了MySQL5.7的事务子系统优化,详细见http://mysqllover.com/?p=834 。 另外一篇博客http://mysqllover.com/?p=1087  也有所涉及。 本文总体介绍了几个和事务子系统相关的w...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

数据库

数据库领域前沿技术分享与交流

+关注
相关镜像
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等