TiDB DevCon 2019
What's Really New with NewSQL?
Cwinux源码解析(二)
Cwinux Commander执行方式。Command设计模式,消息被处理的过程。
MyRocks in Facebook UDB
FLP impossibility证明 阅读笔记
分布式系统一致性协议里面有一个FLP impossibility的结论,这个结论是说,在分布式系统中,异步网络(消息延迟可能任意大或丢失,消息可能乱序),只要有一个进程失效(进程死亡或者足够长时间不响应),就不可能设计出一个一致性协议。
该结论由Fisher、Lynch、Paterson三位分布式系统领域的科学家在1985年在论文Impossibility of Distributed Consensus with One Faulty Process证明。本文解读了证明过程。
几道面试趣题( 打印重复数字 编码扑克牌 煎饼堆排序 随机选取数字 统计1的个数 )
逛Quora的时候,看到一个有趣的问题。”What are the best programming interview questions you've ever asked or been asked?” (在编程面试中,你问过或者被问过的最好的问题是什么)里面有几道题目很有意思,在这里分享给大家。
第一道题:有一个长度为N+1的数组,里面的元素都是1~N的整数,但有些数字可能重复多次。例如1,1,3 ,3或者 1,3,2,2。现在要求打印出重复的数字(有多个数字重复时,可打印任意一个)。
第二道题目:去掉大小王的52张扑克牌,你和你的朋友事先约定一种策略,使得:我任意给你5张扑克牌,你选择一张留下,剩余的4张给你的朋友,你的朋友能够根据事先约定的策略,知道你留下的牌是什么。
从连续不断的数字流中随机选取一个数字(数字流只能过一遍),要求保证任意时刻,已经过去的数字流中任意一个数字被选中的概率相等。
给定整数N,计算从1到N的数字的二进制表示中所有1的个数。
The Columbia Optimizer
Raft论文解读
Raft论文解读,本文根据Raft会议论文,参考Raft博士论文,解读了部分内容。Raft跟(Multi)Paxos差别较大,相比Paxos加强了很多约束,尤其是strong leader,直接影响了Raft协议的架构。
重新审视Paxos协议的Quorum问题
Flexible Paxos: Quorum intersection revisited 这篇论文重新审视了Paxos中关于Quorum的问题。在Basic Paxos中,要求任何quorum都有交集(通常选择多数派作为quorum)。事实上,这个要求可以放宽到Paxos的两个阶段prepare/accept阶段的quorum有交集即可。文中描述了majority, simple, grid三种quorum system。