《Designing Access Methods: The RUM Conjecture》
这篇论文从读、写、存储空间开销角度总结了access method设计,并提出了一个RUM猜想,认为针对其中两个开销优化,则会导致第三个优化困难。
就RUM猜想本身的可信程度而言,我个人觉得一般,不过这种三角可视化的总结非常有趣,可以一读。
What is RUM Conjecture
作者总结了Access Method的一些trade off,审视了RUM三种开销:R是read overhead,...
Raft的乱序commit和乱序apply
不知怎么地,前一阵子知乎上对Raft的乱序的问题的讨论就变多了。我觉得其实这个问题可讨论的东西并不多。
Raft作者觉得Multi Paxos太复杂,所以搞了一个Raft。Raft加了很多约束,其中可能最重要的一条就是只能顺序commit。
所以,顺序commit的锅,Raft是得好好背着,翻不了案的。
值得谈一谈的是乱序apply。
能不能乱序apply本质上取决于你的状态机的设计。
比如,考虑rocksdb...
代码整洁之道 读书笔记
Chapter 1 整洁代码
Lebanc's Law: later equals never.
Chapter 2 有意义的命名
Chapter 3 函数
每个函数一个抽象层级
Chapter 4 注释
Chapter 5 格式
Chapter 6 对象和数据结构
Chapter 7 错误处理
Chapter 8 边界
Chapter 9 单元测试
Chapter 10 类
Chapter 11 系统
Chapter 12 迭进
Chapter 13 ...