NEW

RUM Conjecture

RUM Conjecture
《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的乱序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 ...

人月神话 读书笔记

人月神话 读书笔记
最近听到一个度量软件复杂度的概念,叫decoupling level,想起来以前买过一本《人月神话》,这两天把它从书堆里面翻出来了。虽然书有300多页,不过里面大部分观点,我想从业者应该都认可,因此书里的新东西并不多。 Chapter 1: 焦油坑 职业的乐趣:工作的创造性;产品有价值;零件正常运转的魅力;持续学习的快乐。 职业的苦恼:追求完美;他人设定目标;寻找bug是痛苦的。 Chapter 2: 人月神话 在很多项...

Anna KVS中的Lattice是什么?

Anna KVS中的Lattice是什么?

Anna KVS官网对Anna的特性总结得非常到位:1. Crazy Fast, 2. Super-Scalable, 3. Flexibly Consistent。这里只关注Flexibly Consistent这一项,讲讲Anna是怎么实现灵活的consistency的。这篇博客算是论文导读,详细内容读者仍要仔细阅读论文原文 Anna: A KVS For Any Scale。
Lattice是什么,基于格怎么实现灵活的多种一致性,漫谈Consistency和Isolation Level。