这一章看起来是讲存储引擎的.作者抱怨数据库被黑为“monolithic”.不可拆分为可复用的组件:但是实际上除了事务存储引擎管理模块,其他模块入解析器.重写引擎.优化器.执行器.访问方式都是代码相对独立的,他们提供窄接口(宽接口功能强大如Socket,窄接口单一职责入TcpListener)给其他模块调用.存储引擎一般有以下四个深深纠缠的组件:1. A lock manager,并发控制2. A log manager,恢复3. A buffer pool,数据库I/O分段处理4. Access…
<Anatomy of a Database System>这篇发表于87年.一共48页的论文据说是DBA入门必看,但是找了全网没有找到中文翻译.这篇文章对关系型数据库确实有提纲挈领的作用,看完能带来融会贯通的感觉,值得抄写一遍,如有任何抄写不当的地方请诸位看官留言. 1. 文章结构 文章把数据库划分为4块,chap2.4.5.6都对应上图每一块:chap3浅显的讲了磁盘存储的设计. 2. Process Manager 这一章讲数据库的并发模型,稍微翻下chap2的图片就能明白,…
一.事务控制 1.简单事务控制 redis可以使用mult命令将之后的命令都存放在队列中,只有使用exec命令时才全部执行. 127.0.0.1:6379> multi OK 127.0.0.1:6379> set age 10 QUEUED 127.0.0.1:6379> set age 20 QUEUED 127.0.0.1:6379> exec 1) OK 2) OK 127.0.0.1:6379> get age " 如果我们打过几条命令发现有错,可以使用d…