使用multi-paxos实现日志同步应用
paxos说multi-paxos之前先简要说一下paxospaxos是在多个成员之间对某个值(提议)达成一致的一致性协议。这个值可以是任何东西。比如多个成员之间进行选主,那么这个值就是主的身份。在把multi-paxos协议应用在日志同步中时,这个值就是一条日志。网上讲paxos的文章已经很多了,
使用multi-paxos实现日志同步应用
paxos 说multi-paxos之前先简要说一下paxospaxos是在多个成员之间对某个值(提议)达成一致的一致性协议。这个值可以是任何东西。比如多个成员之间进行选主,那么这个值就是主的身份。在把multi-paxos协议应用在日志同步中时,这个值就是一条日志。网上讲paxo…
Spanner的分布式事务实现
Spanner要满足的external consistency是指:后开始的事务一定可以看到先提交的事务的修改。所有事务的读写都加锁可以解决这个问题,缺点是性能较差。特别是对于一些workload中只读事务占比较大的系统来说不可接受。为了让只读事务不加任何锁,需要引入多版…
关系型数据库原理
这篇文章是对知乎上如何自己实现一个关系型数据库的一个尝试性回答,后续会不断更新。对外数据模型为关系型数据库,内部的实现主要分成两大类,一类是disk-based,比如mysql,postgres,一类是memorybased,后者包括MemSQL,SAPHAHA,OceanBase。这里说一个dis