MySQL的恢复 2022年12月22日 | 原理分析 redo log的格式(逻辑+物理混合格式)、Mini-Transaction、redo log写入过程,写入page cache,log_sys结构、redo log的文件格式,如何刷新到磁盘上的,checkpoint过程,恢复过程; undo log的格式(逻辑格式)、undo log的组织、回滚段、系统表空间的5号page,多个回滚段、rollback的过程;以及源码中的redo log定义、undo log定义 阅读全文
MySQL的缓存 2022年12月19日 | 原理分析 Buffer Pool、Doublewrite Buffer、Redo相关的Log Buffer,自适应Hash索引、change buffer、以及InnoDB相关的参数汇总 阅读全文
MySQL查询分析 2022年12月15日 | 原理分析 一些经典的RBO优化,包括子查询优化;一些CBO优化,统计信息收集,CBO的统计计算方式,常数成本调节;JOIN优化,并详细介绍了EXPLAIN的各个字段含义,其中select_type、type、Extra这几个字段比较重要,另外还有JSON个事的执行计划,optimizer trace 阅读全文
用工具分析MySQL存储文件 2022年12月13日 | 原理分析 innodb_ruby是专门分析InnoDB的工具,通过这个工具能获取到系统表空间、普通表空间的统计信息,段信息、区信息,以及4个核心的SYS表;;以及索引信息统计,page信息汇总,page信息dump,还可以用图表的方式展示 阅读全文
MySQL文件存储结构 2022年12月2日 | 原理分析 InnoDB架构包含内存、磁盘两种结构;基于磁盘的结构中包括:系统表空间、普通表空间、通用表空间、双写缓冲区、Undo表空间、redo日志;临时表空间;这里最重要的当属系统表空间 和 普通表空间;普通表空间分为段、区、页、行这些概念,256个区一组,第0组包含FSP_HDR、XDES、INODE,存储数据的地方是INDEX;系统表空间则多了Data Dictionary Header部分 阅读全文
关于云环境中多租户问题的论文 2022年11月18日 | 架构 主要挑战:存储计算分离架构,多租户共享资源需要解决的问题,serverless不需要预定资源随用随付费;隔离VS安全,隔离程度高越安全但价格高,整合程度高虚拟化stack高便捷性好便宜;自建机房的SLA基本能确定,但在云共享环境中就不是一个固定值了,一般厂商会提供可用性、吞吐量、延迟这些保证,还有多租户集群管理;开放问题:CPU的扩展和内存之间的结构、缓存的动态迁移、云服务价格优化、自动调优、新硬件的影响、资源评估 阅读全文
How to Read a Paper 2022年11月17日 | 系统 一篇论文要读三遍,第一遍读摘要和所有标题,对论文有大概的了解,这是什么类型的论文、测试的?还是分析型的?根据其他哪些论文有关?论文的主要贡献是什么?第二遍仔细阅读,对于共识和非常细节的地方可以略过;第三遍,要站在作者的角度去理解这篇论文,甚至要反推论文中的实现 阅读全文