Advanced Database System
This GitBook notes are maintained by zealscott.
Syllabus
Date | Description | Reading | Project |
---|---|---|---|
2.19 | Structure of Database | LevelDB安装及使用 | |
2.26 | Introduction to LSM-tree Storage Model | B tree history LMDB architecture |
LevelDB基本接口 |
3.4 | Memtable & In-memory Index | SkipList解析 | |
3.11/3.18 | Handle Concurrency for In-memory Index | A Lazy Concurrent List-Based Set Algorithm | 并发链表 |
3.25 | Storage Design of SStables | SStable练习一 | |
4.15 | Data Compaction | SStable练习二 | |
4.15 | Index & Storage for traditional database | 使用gdb调试pg | |
4.24 | SQL Execution Engine-Vocalno Model | gdb跟踪pg源码 | |
4.24 | SQL Execution Engine-Operations | ||
5.6 | Introduction to Query Optimization | 调试HashJoin | |
5.13 | Introduction to Concurrency Control Protocols Isolation Level | 基于时间戳的并发控制 | |
5.20 | Transaction Engine Lock table Raw Locking | 基于锁的并发控制 | |
5.27 | Introduction to WAL logging | 乐观并发控制 | |
6.10 | Raft/Paxos made simple | ||
6.17 | Raft /Basic paxos implementation | ||
6.24 | Introduction of NewSQL - TiDB as an Example |
Reading Material
Books
《数据库系统实现》-- Hector Garcia-Molina, et al.
Papers
存储
- LSM-based Storage Techniques: A Survey(Chen Luo)
- Fault-tolerant precise data access on distributed log-structured merge-tree
- A Comparative Study of Secondary Indexing Techniques in LSM-based NoSQL Databases
查询-哈希Join
- Radix Join(Partitioned Join, https://15721.courses.cs.cmu.edu/spring2016/slides/11.pdf)
- Sort vs. Hash Revisited: Fast Join Implementation on Modern Multi-Core CPUs
并发控制、日志
- Concurrency Control and Recovery (Michael J. Franklin)
- Cache-Conscious Concurrency Control of Main-Memory Indexes on Shared-Memory Multiprocessor Systems
Raft
- In Search of an Understandable Consensus Algorithm (Extended Version)
- PolarFS: An Ultra-low Latency and Failure Resilient Distributed File System for Shared Storage Cloud Database