linux singal Linux支持POSIX标准信号和实时信号。下面给出Linux Signal的简表,详细细节可以查看man 7 signal。默认动作的含义如下Term终止进程信号 取值 默认动作 含义(发出信号的原因) SIGHUP 1 Term 终端的挂断或进程死亡 SIGINT 2 Term 来自键盘的中断信号 SIGQUIT 3 Core 来自键盘的离开信号 SIGILL 4 Core 非...
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...
mysql数字字典相关(5.6、5.7) 目录table_cachetable_cache的使用背景table_cache的存储结构table_cachetable_cache的使用背景当我们的客户端程序提交 Query 给 MySQL 的时候,MySQL 需要对 Query 所涉及到的每一个表都取得一个表文件句柄信息,如果没有 Table Cache,那么 MySQL 就不得不频繁的进行打开关闭文件操作,无疑会对系统性能产生一定的影响,Table Cache 正是为了解决这一问题而产生的。在有了 Table Cache 之
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...
MySQL8.0新特性: 新的事务锁调度VATS简介 传统的事务锁赋予方式是采用FIFS先来先服务的方式,从MySQL8.0.3开始,引入了一种新的模式CATS调度方式,全称为Contention-Aware Transaction Scheduling (或者叫做VATS, V=Variance). 顾名思义就是能够感知到事务竞争关系来实现全局最小开销的锁调度方式。举个简单的例子,trx1和trx2同时等待一条记录锁,按照传统的方式,谁先进入等...
show engine innodb status 注意:以下使用mysql5.5.24版本做解读,mysql5.6.x和5.7.x输出内容有些地方有调整。1.第一段是头部信息,它仅仅声明了输出的开始,其内容包括当前的日期和时间,以及自上次输出以来经过的时长。=====================================16012912:07:26INNODBMONITOROUTPUT#第二行是当前日期和时...
MySQL 生成binlog的代码分析 binlog文件的内容 log event MySQL的binlog文件中记录的是对数据库的各种修改操作,用来表示修改操作的数据结构是Log event。不同的修改操作对应的不同的log event。比较常用的几种log event有:Query event、Row event、Xid event等。其中Queryevent对应的是一条SQL语句,在DDL操作和STMT格式的bi...
MySQL 5.7 并行复制源码分析 1. 基础数据结构添加全局的事务计数器产生事务timestamp和记录当前最大事务timestamp的clock。class MYSQL_BIN_LOG: public TC_LOG{ ... public: /* Committed transactions timestamp */ Logical_clock max_committed_transaction; ...
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. 参考链...
Tuning Paxos for high-throughput with batching and pipelining http://www.doc88.com/p-9843410898350.html
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最...
hyperscale的架构分析 目录架构分析计算层:Page Server:Log Server:优劣势分析:参考链接架构分析计算层:Page Server:Log Server:push log to PageServer push log to 从计算节点 归档 Log优劣势分析:优势:引入LogServer,降低主计算节点的负载(主从计算节点的日志同步)...
Write-Behind-Logging 论文地址:https://www.ixueshu.com/document/9cd210e04def3c2b318947a18e7f9386.html硬件背景:传统的HDD盘具有高数据密度,价格低廉,持久化稳定的优点,但也无法摆脱机械盘寻道带来的开销,而且顺序访问和随机访问的性能差异巨大。SSD相比HDD来说具备更加好的读写性能,其读写时延相比HDD来说低3个数量级。但针对DBMS系统...
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+树并发控制机制需要满足以下几点要求:正确的读操作:...
副本数据一致性的一些分析 目录一致性模型分析线性一致性(强一致性,strict consistency)顺序一致性(Sequential Consistency)因果一致性(Casual Consistency)腾讯朋友圈的例子参考资料一致性模型分析线性一致性(强一致性,strict consistency)对一致性的要求:任何一次读都能读到某个数据的最近一次写的数据。 系统中的所...
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...
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...
TokuDB的索引结构–分形树的实现 TokuDB和InnoDB最大的不同在于TokuDB采用了一种叫做Fractal Tree的索引结构,使其在随机写数据的处理上有很大提升。目前无论是SQL Server,还是MySQL的innodb,都是用的B+Tree(SQL Server用的是标准的B-Tree)的索引结构。InnoDB是以主键组织的B+Tree结构,数据按照主键顺序排列。对于顺序的自增主键有很好的性能,但是不适合随机写入,大...