并发控制算法小结

并发控制算法小结
  介绍几篇并发控制的工作(并发控制算法还有很多,这里也只是简单看了几篇): 《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是一种并发控制算法,一个数据库对象可能会被并发操作,算法维护同一个对象的多个版本来提高并...

DDIA Quick Note

DDIA Quick Note
说明 《Designing Data-Intensive Applications》从数据系统角度介绍了方方面面的技术点。 内容上,基本都是一个分布式数据库存储引擎所需要的技术能力,而且很多技术点讲的很详细,不过计算引擎基本上没涉及。 另外书里面也介绍了一些其他的数据系统,也都比较有价值。     Part 1 Foundations of Data Systems Chapter 1 Reliable, Scalable, and Maintainable Applications Thinking About D...

Calcite论文阅读笔记

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

Bitcask简介

Bitcask简介
Bitcask是由Basho公司搞的一个产品。 技术设计 数据顺序追加到磁盘上的active data file,并在内存中建立hash索引。 active data file文件长到一定程度就切成old data file,新的数据写入新的active data file。 old data files定期merge成一个merged data file,merge过程中同时会生成一个hint file来索引这个merged data file。 data file存放格式   内存keydir 是一个key -> <file_id, valu...

Redis简介

Redis简介
  Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。   Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 Redis支持数据的备份,即master-slave模式的数据备份。 产品特征 ...

搭建Linux内核调试环境

搭建Linux内核调试环境
  这篇文章介绍下在MacOSX如何用gdb + vmware的方式调试Linux内核。   一:安装Vmware Fusion   二:安装gdb 注意这里需要安装高版本的gdb,这里安装的是8.2版本 123456 wget http://ftp.gnu.org/gnu/gdb/gdb-8.2.tar.gztar xf gdb-8.2.tar.gzcd gdb-8.2./configure --build=x86_64-apple-darwin14.0.0 --target=x86_64-vfs-lin...

Jeff Dean点赞的Consensus Revised论文在说啥?

Jeff Dean点赞的Consensus Revised论文在说啥?
  《Distributed consensus revised》 Heidi Howard 整篇论文151页,粗略通读了一遍,主要是了解各个变体的基本思路和正确性直觉的理解,更形式化的证明基本上都跳过了。 这里假设读者对Basic Paxos有了一定了解,看过Lamport的那篇原始论文。另外我这里行文术语基本沿用原始论文的说法,跟这篇论文稍有差异,不过如果熟悉Basic Paxos的话,应该很容易对应起来。   导读 FLP定理已经证明了在异步...