2022年9月3日
Hellerstein、Michael Stonebraker、James Hamilton几位大神写的数据库系统架构
阅读全文
2022年8月11日
2022年 CIDR的一篇论文,CMU的网红教授发表的,介绍mmap的概念,以及为什么数据库不要用mmap
阅读全文
2022年8月8日
2016年的一篇文章,讲述了uber为什么要将PostgreSQL迁移到MySQL
阅读全文
2022年7月22日
卡内基梅隆的数据库课程,包括:背景、关系代数、数据库存储、buffer pool、hash table、index、index concurrency control、sorting+aggregations、joins algorithms
阅读全文
2022年7月4日
卡内基梅隆的数据库课程,包括:查询执行,火山-物化-向量模型,访问方式,顺序-索引-多索引等,顺序访问的优化,表达式评估,并行VS分布式,调度模式,I/O并行化;查询优化架构、RBO、CBO、逻辑计划VS物理计划、关系代数的优化以及一些例子、复杂谓词的类型和选择性、采样、基于概率的选择性、多join查询的优化,动态规划、遗传优化等
阅读全文
2022年7月4日
卡内基梅隆的数据库课程,包括:事务的定义和ACID,隔离性(并发场景下的交错执行),RW、WR、WW冲突,可串行化、Conflict Serializability(交换、优先图)、View Serializability(NP完全问题);lock VS latch,lock类型,锁管理器,2PL,S2PL,SS2PL;死锁检测(是否有环),根据各种条件打破循环,死锁预防(基于时间戳分配),锁粒度(层级锁,支持更高并发),IS、IX、SIX锁; 时间戳排序并发控制,W-TS(X)、R-TS(X),可恢复性;OCC,三个方面阶段:读/写、校验、写入,backward validation,forward validation;幻读,重新执行,谓词锁,索引锁,事务隔离级别,基于2PL方式的各种隔离级别;MVCC并发控制,TO、OCC、2PL,版本存储append-only、time-travel、delta-storage;垃圾收集:Tuple-level(Background Vacuuming vs. Cooperative Cleaning)、Transaction-level;索引管理,主索引管理,二级索引管理(Logical Pointers、Physical Pointers)、MVCC index;MVCC delete(Deleted Flag、Tombstone Tuple)
阅读全文
2022年7月4日
卡内基梅隆的数据库课程,包括:失败的各种情况,各种存储类型,失败的分类;redo 和 undo;buffer pool 策略;steal、no-force;shadow paging,sqlite的shadow paging;WAL协议格式,物理日志,逻辑日志,checkpoint失败恢复算法ARIES:Write-Ahead Logging,Repeating History During Redo,Logging Changes During Undo;LSN Log Sequence Numbers;正常事务操作恢复,终止事务操作恢复;Fuzzy Checkpointing,活跃事务表,脏页表;Recovery Algorithm的三个阶段:Analysis、Redo、Undo,恢复算法的性能改进
阅读全文
2022年7月4日
卡内基梅隆的数据库课程,包括:分布式数据库,并行vs分布式,分布式数据库架构,shared-everything、shared-memory、shared-disk、shared-nothing;同质化节点vs非同质化节点;数据的透明传输,单节点vs分布式节点;协调事务,hash分区,range分区;OLTP,非拜占庭环境,原子提交协议,2PC,3PC、paxos、raft、zab、viewstamped,2PC的优化,multi-paxos,2PC vs paxos;复制配置:主-副本、多主,k-safety,传播时机:continuous、on commit,主动 vs 被动;CAP理论联邦数据库;OLAP,星型模型vs雪花模型,push vs pull,查询计划片段 vs SQL重写,分布式join算法,云系统,组件分解:系统catalog、节点管理、query优化;统一的访问格式
阅读全文