8 西门仙忍

尚未进行身份认证

从事数据库领域8年

等级
TA的排名 4w+

mysql 8.0.19 行锁分析-1

lock_rec_lock_slow| | => *wait_for = lock_rec_other_has_conflicting| | => err = rec_lock.add_to_waitq(wait_for);| | => lock_create_wait_for_edge| | => ut_ad(lock_mutex_own());| | => waiter->lock.b...

2020-05-15 17:46:22

mysql数字字典相关(5.6、5.7)

目录table_cachetable_cache的使用背景table_cache的存储结构table_cachetable_cache的使用背景当我们的客户端程序提交 Query 给 MySQL 的时候,MySQL 需要对 Query 所涉及到的每一个表都取得一个表文件句柄信息,如果没有 Table Cache,那么 MySQL 就不得不频繁的进行打开关闭文件操作,无疑会对系统性能产生一定的影响,Table Cache 正是为了解决这一问题而产生的。在有了 Table Cache 之

2020-05-12 11:43:55

innodb 行查找,有点老了

do_select():查询入口函数。| sub_select():查询部分join的记录。循环调用ha_innobase::rnd_next()和evaluate_join_record()获取并处理该部分的每条记录。(sql\sql_select.cc:11705)| | evaluate_join_record():处理一条查询记录。(sql\sql_select.cc:117...

2020-03-26 10:20:06

MySQL8.0新特性: 新的事务锁调度VATS简介

传统的事务锁赋予方式是采用FIFS先来先服务的方式,从MySQL8.0.3开始,引入了一种新的模式CATS调度方式,全称为Contention-Aware Transaction Scheduling (或者叫做VATS, V=Variance). 顾名思义就是能够感知到事务竞争关系来实现全局最小开销的锁调度方式。举个简单的例子,trx1和trx2同时等待一条记录锁,按照传统的方式,谁先进入等...

2020-03-11 16:17:29

show engine innodb status

注意:以下使用mysql5.5.24版本做解读,mysql5.6.x和5.7.x输出内容有些地方有调整。1.第一段是头部信息,它仅仅声明了输出的开始,其内容包括当前的日期和时间,以及自上次输出以来经过的时长。=====================================16012912:07:26INNODBMONITOROUTPUT#第二行是当前日期和时...

2020-03-11 14:19:31

MySQL 生成binlog的代码分析

binlog文件的内容 log event MySQL的binlog文件中记录的是对数据库的各种修改操作,用来表示修改操作的数据结构是Log event。不同的修改操作对应的不同的log event。比较常用的几种log event有:Query event、Row event、Xid event等。其中Queryevent对应的是一条SQL语句,在DDL操作和STMT格式的bi...

2020-03-09 18:00:52

MySQL 5.7 并行复制源码分析

1. 基础数据结构添加全局的事务计数器产生事务timestamp和记录当前最大事务timestamp的clock。class MYSQL_BIN_LOG: public TC_LOG{ ... public: /* Committed transactions timestamp */ Logical_clock max_committed_transaction; ...

2020-03-01 17:45:03

MySQL刷脏页优化方案汇总

目录1. 改善FLU刷脏1.1 增加并发(5.7.4):1.2改善链表遍历方式:1.3平衡刷脏权重(5.7.6)1.4 用户线程在检查Redo 空间时不参与刷脏(5.7.6)1.5为page cleaner线程设置更高的优先级(5.7.6)2. 改善LRU刷脏2.1 脏页 to FreeList3. LRU和FLU刷脏分离(Percona)4. 参考链...

2019-12-15 18:28:23

Tuning Paxos for high-throughput with batching and pipelining

http://www.doc88.com/p-9843410898350.html

2019-11-18 00:06:45

ARTree(The Adaptive Radix Tree: ARTful Indexing for Main-Memory Databases)

1. 背景:2. 架构介绍:2.1 内节点类型2.2叶子节点类型单值和多值2.3 lazy expansion and path compression路径压缩分为乐观和悲观:3. 优劣分析:3.1 优势灵活的页面大小,提高内存的数据空间比 极简的分支判断的CPU指令 SMO过程只涉及两层结构,这个由ARTree树的基本结构构成8bit最...

2019-11-17 11:28:53

hyperscale的架构分析

目录架构分析计算层:Page Server:Log Server:优劣势分析:参考链接架构分析计算层:Page Server:Log Server:push log to PageServer push log to 从计算节点 归档 Log优劣势分析:优势:引入LogServer,降低主计算节点的负载(主从计算节点的日志同步)...

2019-11-05 23:40:59

Write-Behind-Logging

论文地址:https://www.ixueshu.com/document/9cd210e04def3c2b318947a18e7f9386.html硬件背景:传统的HDD盘具有高数据密度,价格低廉,持久化稳定的优点,但也无法摆脱机械盘寻道带来的开销,而且顺序访问和随机访问的性能差异巨大。SSD相比HDD来说具备更加好的读写性能,其读写时延相比HDD来说低3个数量级。但针对DBMS系统...

2019-11-05 07:06:45

MySQL B+Tree的锁分析(含5.6、5.7和其他深度分析)

目录几点关键的背景正确的B+树并发控制机制需要满足以下几点要求:一些名词SMO过程MySQL5.6 SMO分析MySQL 5.6 SMO代码分析MySQL 5.6 SMO过程分析MySQL5.7 SMO分析MySQL 5.7SMO代码分析MySQL 5.7SMO过程分析几点关键的背景正确的B+树并发控制机制需要满足以下几点要求:正确的读操作:...

2019-10-27 23:25:29

副本数据一致性的一些分析

目录一致性模型分析线性一致性(强一致性,strict consistency)顺序一致性(Sequential Consistency)因果一致性(Casual Consistency)腾讯朋友圈的例子参考资料一致性模型分析线性一致性(强一致性,strict consistency)对一致性的要求:任何一次读都能读到某个数据的最近一次写的数据。 系统中的所...

2019-10-25 10:43:07

待整理的知识点

插入意向锁和隐式锁 hyperscale分析 ok 云数据库分析 ok ART分析 新引擎分析 OK ...

2019-10-24 16:38:07

Disk is Tape, Flash is Disk

这张图让我想到之前在使用Redis时看到Jim Gray那句被坊间流传许久的话:"Tape isDead, Disk is Tape, Flash is Disk, RAM Locality is King".(磁带已死,磁盘是新磁带,闪存是新磁盘,随机存储器局部性是为王道.) 这句话的原始出处在此:http://www.signallake.com/innovation/Flash...

2019-10-15 19:33:22

bLSM: A General Purpose Log Structured Merge Tree

bLSM 提出了一种新的合并调度器来限制写入延迟,从而保持稳定的写入吞吐量,并且还使用 bloom 过滤器来提高性能。Data management workloads are increasingly write-intensive and subject to strict latency SLAs. This presents a dilemma:Update in place syst...

2019-10-07 23:34:31

TokuDB的索引结构–分形树的实现

TokuDB和InnoDB最大的不同在于TokuDB采用了一种叫做Fractal Tree的索引结构,使其在随机写数据的处理上有很大提升。目前无论是SQL Server,还是MySQL的innodb,都是用的B+Tree(SQL Server用的是标准的B-Tree)的索引结构。InnoDB是以主键组织的B+Tree结构,数据按照主键顺序排列。对于顺序的自增主键有很好的性能,但是不适合随机写入,大...

2019-10-07 20:41:45

BwTree论文的一些整理

BwTree面向场景:主要是内存场景打击点:主要是内存场景:LOCK:引入的上下文切换开销 CPU:本地更新引入的Cache coherence 写放大问题:通过增量 + append的方式减少写入数据量,增加Flush过程中的Batch效果主要方案:索引:btree 内存和磁盘都是append写,使用mapping_table解决物理地址频繁变更的问题 lock...

2019-10-06 14:32:36

RocksDB 性能测试(全网搜集)

https://en.wikipedia.org/wiki/MyRocks#Benchmarksperconahttps://www.percona.com/blog/2018/04/30/a-look-at-myrocks-performance/http://baijiahao.baidu.com/s?id=1599227245729254474&wfr=spider&am...

2019-09-27 10:40:19

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。