并发控制算法小结

并发控制算法小结
  介绍几篇并发控制的工作(并发控制算法还有很多,这里也只是简单看了几篇): 《An Empirical Evaluation of In-Memory Multi-Version Concurrency Control》(VLDB 17')实测了几种In-Memory MVCC机制。参见论文阅读 - InMemoryDB并发控制算法评估。 《An Evaluation of Distributed Concurrency Control》(VLDB17')这篇主要是评估了分布式并发控制的机制。参见论文阅读 - 分布式并发控制算法评...

论文阅读 - Haketon的高性能并发控制算法

论文阅读 - Haketon的高性能并发控制算法
High-Performance Concurrency Control Mechanisms for Main-Memory Databases (VLDB12') 这篇文章是微软Hekaton上的in-memory storage engine的高性能控制算法。   MV Storage Engine 关于事务可串行化的一个洞察和论述 如果事务的读和写逻辑上发生在同一时刻,则事务就是可串行化的。SI隔离级别并不满足这个情况,SI的读实际上是发生在事务开启时(事务开启时取快照,快照一旦确定了,即使读请求是...

论文阅读 - 分布式并发控制算法评估

论文阅读 - 分布式并发控制算法评估
An Evaluation of Distributed Concurrency Control(VLDB17') 这篇工作主要是比较并评估了6种in-memory分布式数据库的并发控制计算法。   System Overview 论文在Deneva系统上做分布式并发控制算法实现和测试。 Architecture Deneva架构:shared-nothing Env Model 所有的事务都使用存储过程,有些协议只能执行确定事务(需要提前知道访问哪些行)。 数据按consistent-hash分布,client上配置locat...

论文阅读 - InMemoryDB并发控制算法评估

论文阅读 - InMemoryDB并发控制算法评估
  An Empirical Evaluation of In-Memory Multi-Version Concurrency Control (VLDB17')   这篇工作梳理了MVCC的四个要点: 并发控制协议 多版本存储 垃圾回收 索引管理 还介绍了MVCC的多种变体原理,实现了这些变体,然后在OLTP workload上测试评估各个变体的效果。   MVCC基础 MVCC介绍 MVCC是一种并发控制算法,一个数据库对象可能会被并发操作,算法维护同一个对象的多个版本来提高并...

Calcite论文阅读笔记

Calcite论文阅读笔记
  Calcite是Apache旗下开源的、支持多种数据源、提供查询处理/查询优化/查询语言的基础软件框架。   Calcite的三个特点: 标准SQL: 工业级的SQL parser, validator, JDBC Driver 查询优化器:将查询表达为关系代数,计划生成,基于代价的优化 数据源适配:融合第三方数据源   SIGMOD18上的Calcite总结论文《Apache Calcite: A Foundational Framework for Optimized Query Processing Ove...

Spanner: Becoming a SQL System论文阅读笔记

Spanner: Becoming a SQL System论文阅读笔记
  继2012年在OSDI年发表了Spanner论文《Spanner: Google’s Globally-Distributed Database》之后,Google在SIGMODE'17上发表了第二篇关于Spanner的论文《Spanner: Becoming a SQL System》。从整个的数据库系统角度看,2012年那篇讲是的Spanner的下半部分Storage Engine的一些feature:数据自动分区和全球部署、多副本Paxos高可用、支持外部一致性的分布式事务。2017年这篇主要讲是讲数据库的上半部分...