数据库系统原理与实现是华东师范大学数据学院开设一门数据库系统课程。 授课人胡卉芪
课程主要内容是当下数据库内核实现中的关键技术,主要包括存储,查询,事务,高可用四个方面。
课程内容:
Time |
Content |
|
Time |
Content |
|
W1 |
课程介绍 |
Reading: 课程简介、系统研究关注的内容、性能指标、课程要求 Lab 1(W1):配置实验环境、编译并调试代码 |
W10 |
事务-异常与隔离级别 |
Reading:Serializablity(i), Serializablity(ii),Conflict Serializable, Recoverability-Emory, Transaction Anomaly,Isolation Levels, 分布式一致性与隔离级别的关系 |
W2 |
存储-传统数据库 |
Reading: KVS的接口与设计需求,B+tree, COW-B+tree,Page Structure,Database Buffer, Cache Policy (i,ii),Implement LRU—Cache Lab 2-1:实现数据库Drop Table功能 |
W11 |
事务-并发控制(一) |
Reading: 2PL,S2PL,Basic Timestamp Lab 5-2(W10-W11):2PL算法实现 |
W3 |
存储-Bitcast结构 |
Reading: Bitcast, Log-structured store Lab 2-2:向数据库中增加DATE字段 |
W12 |
事务-并发控制(二) |
Reading:OCC, MVCC,Snapshot Isolation Lab 5-3(W12):OCC算法实现 |
W4 |
存储-LSM-tree架构存储 |
Reading:Skiplist-LevelDB,LSM-tree structure & LevelDB,More about Compaction Lab 3-1:在缓冲区中实现LRU淘汰算法 Lab 3-2:实现缓存管理器 |
W13 |
事务-日志管理 |
Reading:日志与缓冲区关系,ARIES Final Project:实现 Order By 功能 |
W5 |
存储-并发索引 |
Reading: Memory Consistency Model,Concurrent Linklist(Lock coupling,Optimistic Read,Lazy Delete), Concurrent Index Lab 5-1(W8):并发链表实现 |
W14 |
高可用-数据库备份,Raft(一) |
Reading:Raft Summary, Raft Paper |
W6 |
存储-其他 |
Reading:Memory Allocation,Snapshot, Bloomfilter,Second Index,Compression, Design Considerations for Database storage |
W15 |
高可用-Raft(二) |
Reading: 见上 Lab 6(W14-W17):实现Raft算法 |
W7 |
查询-执行引擎 |
Reading:SQL执行过程,火山模型 Lab 4-1(W6): 实现多表查询功能 Lab 4-2(W7): 聚合函数 |
W16 |
高可用-分布式一致性与Basic Paxos(一) |
Reading: Distributed consensus revised-Heidi Howard |
W8 |
查询-算子实现 |
Reading:Join Algorithms,Grace Join,External Sort |
W17 |
高可用-分布式一致性与Basic Paxos(二) |
Reading: 见上 |
W9 |
查询-查询优化器 |
Reading: Query Optimization |
W18 |
分布式数据库主要技术扩展(MPP、分布式事务等) |
Reading: |
扩展内容: 可选
Time |
Content |
|
Time |
Content |
|
E1 |
Distributed Database Architecture |
Reading: Share-noting, Share-data. Cloud Database |
E2 |
Storage |
Reading: Data Partition, Consistent Hashing |
E3 |
Storage |
Reading: More On LSM-tree |
E4 |
Transaction |
Reading: Distributed Concurrency Control |
E5 |
Transaction |
Reading: Atomic Commit |
E6 |
Consensus |
Reading: There is more on consensus |
E7 |
Transaction+Consensus |
Reading: Paxos Commit |
E8 |
Query |
Reading: Exchange, Map-Reduce, Massive Parallel Execution |
Reading List:
PingCap整理的数据库论文:https://github.com/pingcap/awesome-database-learning