cwen


Life is magic. Coding is art.

TiDB 性能优化之玄学调优

TiDB 玄学调优是我们自黑比较狠的梗之一,当初 TiKV 里大把的参数让我头疼了好久 ( TiKV 的配置参数大多数是和 RocksDB 相关 )。好在现在很多参数现在的默认值已经很科学大大的减少了我们玄学调优的难度。 以下是是我平时在测试 TiDB 时候,进行瓶颈定位的过程…


Percolator 论文笔记

TiDB 的事务模型是参考 Google Percolator 事务模型,想去研究 TiDB 的事务模型,学习一下 Google Percolator 论文必不可少…


MVCC In TiKV

很多数据库都会实现多版本控制(MVCC),TiKV 也不例外,刚好最近在看 TiKV,对于 MVCC 以及 TiKV 内是如何使用 MVCC 的做个简单笔记…


Spanner 论文笔记

刚到公司的时候,记得奇哥就推荐了几篇基础论文(尴尬,目前我还没有完全看完),Spanner 论文就是其中之一,同时 TiKV 的设计架构也是受到了 Spanner 的启发,在阅读 Spanner 论文的同时,记录些东西,方便以后回顾复习…


Leader Transfer In TiKV

在 TiKV 中,PD 当发现 TiKV 实例上 region 出现 leader 不均匀的时候,会尝试将 leader 从数量比较多的地方 transfer 到其地方,具体调度指令由 PD 发出,TiKV 接收到 PD 的 transfer leader 指令,调用 raft 操作执行真正操作…


分布式系统里的时间、时钟和事件顺序

以往编写单机程序的时候,如何来判断先后顺序,第一个想到的就是分配一个唯一时间戳,然后根据时间戳的大小来判断事件发生的先后顺序, 但是放在分布式系统就不一定有效…


rust 笔记 - 构建多线程 web server

入坑 rust, 学习如何来用 rust 构建多线程 web server…


GFS 笔记 - MIT-6.824

GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体性能较高的服务…


RPC in GO - MIT-6.824

RPC 理想上想把网络通信做的跟函数调用一样


MapReduce 笔记 - MIT-6.824

MapReduce 由google提出的软件架构,主要用于大规模数据集的并行计算…