Hekaton: SQL Server’s Memory-Optimized OLTP Engine(SIGMOD13')
Hekaton是SQL Server的一个纯内存数据引擎,用户可以声明一张表存放在Hekaton上,这张表完全支持原SQL Server所有操作,包括T-SQL。同时如果T-SQL只涉及Hekaton表,T-SQL还可以进一步编译执行,性能更高。
为什么要重新设计Hekaton引擎?
单纯优化现有的SQL Server还能不能有10-100倍吞吐提升?
说到底吞吐提升的三条路:提升sca...
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 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
产品特征
...
RUM Conjecture
《Designing Access Methods: The RUM Conjecture》
这篇论文从读、写、存储空间开销角度总结了access method设计,并提出了一个RUM猜想,认为针对其中两个开销优化,则会导致第三个优化困难。
就RUM猜想本身的可信程度而言,我个人觉得一般,不过这种三角可视化的总结非常有趣,可以一读。
What is RUM Conjecture
作者总结了Access Method的一些trade off,审视了RUM三种开销:R是read overhead,...