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模式的数据备份。 产品特征 ...

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年这篇主要讲是讲数据库的上半部分...

以史为鉴:数据模型变迁史

以史为鉴:数据模型变迁史
这两天看了篇数据模型的论文,What Goes Around Comes Around。这篇论文是2005年Stonebraker和Hellerstein两位泰斗写的,讲的是数据库的数据模型35年的变迁历史,另外论文还总结了一些经验。 这是一个非常有趣的话题,能够让我们更多地去从市场和产品角度看问题,尤其是考虑到不断迭代的甚至是越来越快地迭代的数据库技术。   数据模型Data Model的9个历史阶段: Hierarchical(IMS): 1960年代末到197...

数据库系统组件

数据库系统组件
  读了Architecture of a Database System这篇经典论文,挑了些不太熟悉的内容做了笔记。 论文内容基本上谈不上是在讲架构吧,基本上就是罗列了下有哪些组件,而且内容基本上针对原来传统数据库的。   主要包括几个组件: Client Communication Manager Process Manager Relational Query Processor Transaction Storage Manager Shared Components and Utilities Client Session Manager 两层...

What's Really New with NewSQL?

What's Really New with NewSQL?
  这篇文章介绍的面很广,提到了诸多系统,不过每个点都不太细。另外虽然是16年的文章,但不知道为啥还是感觉有点陈旧了。。。简单来说,当个手册看吧,遇到具体细节问题,可以找文中提到的具体系统参考下。这里捡我感兴趣的点罗列了一下,详细内容读者可以看原文。   DBMS简史 1968年第一个DBMS上线,IBM在数据库领域发力甚早,比如System R,不过没有对外。 70年代,Oracle发布了第一个版本。 ...

关于事务的一点琐碎思考

关于事务的一点琐碎思考
最近又零散地看了一些mvcc/snapshot的东西,有了一些新的理解和观点,记录一下,内容比较碎,不一定正确,欢迎大家讨论拍砖。 在某些实现下,2PC会影响MVCC ? MVCC相比lock-based的并发控制,可以使得写不阻塞读。不过如果如果使用基于时间戳的行级多版本,在有分布式事务时,有可能遇到类似于下面的问题:2PC中参与者prepare之后收到协调者的commit/abort通知之前是未决的状态,该参与者不知道事务是提交...

浅谈数据库隔离级别

浅谈数据库隔离级别

本文介绍了关系型数据库的隔离性。ANSI标准里面定义了Read Committed, Repeatable Read, Serializable隔离级别,Jim Gray等针对ANSI的标准提出了改进,并介绍了Cursor Stability, Snapshot Isolation等隔离级别。