摘要: 前言 相比于普通的用户数据表,MySQL/InnoDB中的临时表,大家应该会陌生很多。再加上不同的临时表创建的时机和创建的位置都不固定,这也进一步加大神秘感。最让人捉摸不透的是,临时表很多时候会先创建文件,然后什么都不做,就把文件删除,留一个句柄读写,给人的感觉是神龙见首不见尾。本文分析了详细MyS 阅读全文
posted @ 2019-04-26 11:04 水中的泪 阅读(3480) 评论(3) 推荐(2) 编辑
摘要: 前言 POLARDB For MySQL(下文简称POLARDB)目前是阿里云数据库团队主推的关系型数据库。线上已经有很多企业用户在使用并且稳定运行了很久。当然,由于POLARDB是为云上环境专门打造的数据库,与原生的官方MySQL相比,有一些需要注意的事项。前几个月的月报介绍了一些,详见这篇[月报 阅读全文
posted @ 2019-01-20 20:54 水中的泪 阅读(8499) 评论(0) 推荐(0) 编辑
摘要: ## 前言 POLARDB作为阿里云下一代关系型云数据库,自去年9月份公测以来,收到了不少客户的重点关注,今年5月份商业化后,许多大客户开始陆续迁移业务到POLARDB上,但是由于POLARDB的很多默认行为与RDS MySQL兼容版不一样,导致很多用户有诸多使用上的困惑,本来总结了几点,给大家答疑 阅读全文
posted @ 2018-12-12 11:16 水中的泪 阅读(7957) 评论(0) 推荐(0) 编辑
摘要: 前言 之前介绍的 "月报" 中,详细介绍了InnoDB Buffer Pool的实现细节,Buffer Pool主要就是用来存储数据页的,是数据页在内存中的动态存储方式,而本文介绍一下数据页在磁盘上的静态存储方式以及相关的操作。由于数据页的结构涉及InnoDB非常底层的代码,因此各个版本的MySQL 阅读全文
posted @ 2018-04-19 17:47 水中的泪 阅读(6288) 评论(1) 推荐(4) 编辑
摘要: 前言 关系型数据库的事务机制因其有原子性,一致性等优秀特性深受开发者喜爱,类似的思想已经被应用到很多其他系统上,例如文件系统等。本文主要介绍InnoDB事务子系统,主要包括,事务的启动,事务的提交,事务的回滚,多版本控制,垃圾清理,回滚段以及相应的参数和监控方法。代码主要基于RDS 5.6,部分特性 阅读全文
posted @ 2017-12-22 19:17 水中的泪 阅读(801) 评论(0) 推荐(1) 编辑
摘要: 背景意义 云计算为如今的互联网时代提供了更多的计算能力,乃至创造能力,关系型数据库作为所有应用不可或缺的重要部件,开箱即用,高性价加比特性的云数据库深受开发者的喜爱。作为一线的开发和运维人员,在阿里云的线上值班中,我们经常会碰到以下经典的客户抱怨。 "你好,你们RDS的产品很棒,但是就是有点小贵,尤 阅读全文
posted @ 2017-09-20 22:25 水中的泪 阅读(7785) 评论(5) 推荐(1) 编辑
摘要: 前言 数据库系统与文件系统最大的区别在于数据库能保证操作的原子性,一个操作要么不做要么都做,即使在数据库宕机的情况下,也不会出现操作一半的情况,这个就需要数据库的日志和一套完善的崩溃恢复机制来保证。本文仔细剖析了InnoDB的崩溃恢复流程,代码基于5.6分支。 基础知识 lsn: 可以理解为数据库从 阅读全文
posted @ 2017-07-16 19:06 水中的泪 阅读(8036) 评论(0) 推荐(3) 编辑
摘要: 前言 用户对数据库的最基本要求就是能高效的读取和存储数据,但是读写数据都涉及到与低速的设备交互,为了弥补两者之间的速度差异,所有数据库都有缓存池,用来管理相应的数据页,提高数据库的效率,当然也因为引入了这一中间层,数据库对内存的管理变得相对比较复杂。本文主要分析MySQL Buffer Pool的相 阅读全文
posted @ 2017-05-16 14:25 水中的泪 阅读(16433) 评论(10) 推荐(16) 编辑
摘要: 前言 InnoDB做为一款成熟的跨平台数据库引擎,其实现了一套高效易用的IO接口,包括同步异步IO,IO合并等。本文简单介绍一下其内部实现,主要的代码集中在os0file.cc这个文件中。本文的分析默认基于MySQL 5.6,CentOS 6,gcc 4.8,其他版本的信息会另行指出。 基础知识 W 阅读全文
posted @ 2017-03-03 20:50 水中的泪 阅读(3016) 评论(0) 推荐(2) 编辑
摘要: 前言 现代操作系统以及硬件基本都支持并发程序,而在并发程序设计中,各个进程或者线程需要对公共变量的访问加以制约,此外,不同的进程或者线程需要协同工作以完成特征的任务,这就需要一套完善的同步机制,在Linux内核中有相应的技术实现,包括原子操作,信号量,互斥锁,自旋锁,读写锁等。InnoDB考虑到效率 阅读全文
posted @ 2017-01-17 20:54 水中的泪 阅读(3899) 评论(3) 推荐(1) 编辑