数据库菜鸟记录下自己的学习路线。
入门:
<数据库系统实现> 介绍了很多传统的2000年前的传统方法,颠簸不破的经典。其中第六、七、八推荐结合食用。
<数据密集型应用系统设计> 即DDIA 第七章事务,大致介绍了各个隔离级别以及部分解决方案,必看,不深入研究就够用了。
深入:
主要是2000以来的,个人主要关注MVCC,MVOCC。
<Making snapshot isolation serializable>, 05年
进一步数学化规范化分析SI,优美深刻。Fekete yyds。
<Serializable isolation for snapshot databases>, 09年
即DDIA中提到的基于乐观并发控制的OCC的实现
个人兴趣:
SSN相关的两篇 (ERMIA使用,15&17年的)
<The Serial Safety Net: Efficient Concurrency Control on Modern Hardware>
<Efficiently making (almost) any concurrency control mechanism serializable>
Silo相关的两篇,另一篇偏日志优化 (13年的)
<Speedy transactions in multicore in-memory databases>
还没看的:
<High-performance concurrency control mechanisms for main-memory databases>
11年 Larson的
<Rethinking serializable multiversion concurrency control>
14年的
<An Empirical Evaluation of In-Memory Multi-Version Concurrency Control>
Andy推荐,17年的综述评测
<An Analysis of Concurrency Control Protocols for In-Memory Databases with CCBench (Extended Version)>
20年,去看看这个CCbench是啥
<Opportunities for optimism in contended main-memory multicore transactions>
20年VLDB best paper,结合MMDB分析