加载中
MySQL多版本并发控制机制(MVCC)-源码浅析

MySQL多版本并发控制机制(MVCC)-源码浅析 前言 作为一个数据库爱好者,自己动手写过简单的SQL解析器以及存储引擎,但感觉还是不够过瘾。<<事务处理-概念与技术>>诚然讲的非常透彻,但只能提纲...

08/14 10:02
1K
从linux源码看socket的close

从linux源码看socket的close 笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。上篇博客讲了socket的阻塞和非阻塞,这篇就开始谈一谈socket的close(以t...

05/31 10:39
1K
从linux源码看socket的阻塞和非阻塞

从linux源码看socket的阻塞和非阻塞 笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。 大部分高性能网络框架采用的是非阻塞模式。笔者这次就从linux源码...

04/08 10:03
4.3K
解Bug之路-记一次JVM堆外内存泄露Bug的查找

解Bug之路-记一次JVM堆外内存泄露Bug的查找 前言 JVM的堆外内存泄露的定位一直是个比较棘手的问题。此次的Bug查找从堆内内存的泄露反推出堆外内存,同时对物理内存的使用做了定量的分析,从而...

01/08 10:51
6.6K
MySql-两阶段加锁协议

MySql-两阶段加锁协议 前言 此篇博客主要是讲述MySql(仅限innodb)的两阶段加锁(2PL)协议,而非两阶段提交(2PC)协议,区别如下: 2PL,两阶段加锁协议:主要用于单机事务中的一致性与隔离性。 2PC...

2017/07/17 10:53
1K
解Bug之路-Druid的Bug

解Bug之路-Druid的Bug 笔者很热衷于解决Bug,同时比较擅长(网络/协议)部分,所以经常被唤去解决一些网络IO方面的Bug。现在就挑一个案例出来,写出分析思路,以飨读者,希望读者在以后的工作中...

解Bug之路-串包Bug

解Bug之路-串包Bug 笔者很热衷于解决Bug,同时比较擅长(网络/协议)部分,所以经常被唤去解决一些网络IO方面的Bug。现在就挑一个案例出来,写出分析思路,以飨读者,希望读者在以后的工作中能够...

2017/04/27 10:14
3.2K
解Bug之路-TCP粘包Bug

解Bug之路-TCP粘包Bug 前言 关于TCP流 TCP是流的概念,解释如下 TCP窗口的大小取决于当前的网络状况、对端的缓冲大小等等因素, TCP将这些都从底层屏蔽。开发者无法从应用层获取这些信息。 ...

2017/04/17 10:27
3.9K
MySql-Proxy之多路结果集归并

MySql-Proxy之多路结果集归并 笔者觉得Cobar之类的分库分表最神奇的部分就是靠一条sql查询不同schema下(甚至不同实例下)的不同的表。例如 select * from t_test; // 映射为 |------selec...

2017/04/07 10:39
2.4K
自己动手写SQL查询引擎-总篇

自己动手写SQL查询引擎-总篇 本篇Blog在总体层面介绍了SQL查询引擎Rider的功能及设计,其细节部分将会在后面的篇章中一一道来。 起因 笔者在实际工作中经常需要解析文件,每次文件稍有变化,...

2017/03/23 10:58
1K
MySql之自动同步表结构

MySql之自动同步表结构 开发痛点 在开发过程中,由于频繁的修改数据库的字段,导致rd和qa环境的数据库表经常不一致。 而由于这些修改数据库的操作可能由多个rd操作,很难一次性收集全。人手工...

2017/03/15 10:22
1K
MySql之自动生成CRUD代码

MySql之自动生成CRUD代码 MyBatis能够通过获取MySql中的information_schema从而获取表的字段等信息,最后通过这些信息生成代码。 笔者受此启发,将MyBatis-Generator中的核心结构体剥离出来,...

2017/03/07 14:48
1K
MySql-Binlog协议详解-流程篇

MySql-Binlog协议详解-流程篇 MySql-Binlog在MySql主从不同方面发挥着不可或缺的作用,同时我们也能通过Binlog实时监控数据的变化。本系列就讲述了怎样接收并解析Binlog。本篇就主要对接收b...

2017/02/22 17:34
550
MySql协议讲解-事务协议篇

MySql协议讲解-事务协议篇 MySql事务协议主要是通过set autocommit、commit以及rollback这三个报文(命令)来实现的。 MySql事务协议交互图 1.Client向DB发送set autocommit命令 autocommit,顾...

2017/02/13 17:18
392
MySql协议详解-CRUD与Result篇

MySql协议详解-CRUD与Result篇 Com_query报文 一般对DB的CRUD操作都由com_query报文封装并发送给DB。com_query报文如下图所示: PacketLength:3byte表示body长度,防"粘包"。 sequenceId:1by...

2017/02/08 16:21
1K
Druid连接管理分析

Druid创建连接的过程 Druid是通过一个创建连接线程来完成连接,如下图所示: Druid有且只有一个线程来创建连接,为了防止不必要的线程时间片的消耗,其采用了await()/notify()的方式,当其创...

2017/02/08 15:21
335
TCP协议详解-定时器

紧接上篇 3. TCP定时器 3.1 连接建立(connection establishment)定时器 这个定时器由TCP_KEEP计数器实现 1 2 3 4 5 6 7 8 9 10 11 12 13 14 /* * Keep-alive timer went off; send someth...

2017/02/08 13:34
175
TCP协议详解-滑动窗口

TCP协议作为基本的传输控制协议,提供了面向连接的、可靠的通信机制。由于其优越的特性,被广泛应用于网络通信中,成为了今天互联网的基石。其为了屏蔽网络底层种种复杂的因素做出了巨大的努...

2017/02/08 12:00
506
MySql协议详解-HandShake握手篇

MySql协议详解-HandShake握手篇 各位有没有对Cobar、MyCat这些MySqlProxy感到新奇。反正笔者在遇到这些proxy时,感受到其对代码的无侵入兴感到大为惊奇。于是走上了研究MySql协议的不归路。现...

2017/02/07 20:57
818
文件解析中间件,用SQL去读取各种格式的文件!

Rider 文档解析中间件 用SQL解析文件 (1)完全支持MySql协议 (2)完全支持Mybatis-Generator (3)支持Schema和Table (4)支持客户端创建Schema和Table (5)支持常用select语句where,condition,行运...

2017/01/06 20:53
126

没有更多内容

加载失败,请刷新页面

下一页

返回顶部
顶部