存储引擎
写在前面:这个专栏主要用来记录读《openGauss数据库核心技术》、《数据库系统实现》这两本书记录的一些问题。属于自制索引目录:P。这篇是《openGauss数据库核心技术》的存储技术这一章的内容。
Q1:关系型数据库存储引擎要解决的三大问题?
Q2:openGauss有哪些存储引擎?
Q3:OLTP是什么?应用场景有哪些?
Q4:OLAP是什么?应用场景有哪些?
Q5:内存引擎主要面向什么场景?例如?
机制详解
行存储引擎
Q6:行存储的多版本管理和DML操作机制?
Q7:基于CSN的MVCC机制?具体的流程图理解P177
几个重要的概念 snapshot CSN CSN log
MVCC机制为什么重要,解决的是什么问题?
思考:通常我们说解决读写并发,在操作系统课程的角度我们用上锁的思路去解决。但是mvcc是采用原地更新,然后读入时候根据相对时间的大小关系,读取对应的版本。
Q8:自然的基于MVCC,多版本就冗余,因此此时需要空间回收。Heap_page_prune的机制?是哪个层面进行回收?Vacuum操作是什么?
Q9:redo日志能够完成哪些工作?
列存储引擎
Q10:列存储引擎的引出的背景?
Q11:列存储的优势
Q12:列存储的基本单元是什么?
Q13:列存储是如何实现mvcc机制的
内存存储引擎
Q14:内存引擎的架构是怎样的?
Q15:内存数据库的索引?
Q16:masstree是什么?