Part05-Buffer Pools
Bifurcated Environment
“分叉”,OLTP和OLAP的DB是分离的。OLTP Data Silos(孤岛),相互独立的数据存储区,ETL(Extract Transform Load)操作:将业务系统的数据经过抽取、清洗、转换之后加载到数据仓库的过程。最后OLAP push to the frontend
如何把磁盘中的数据库文件或者Page放到内存里面?
DB不可以在磁盘上对数据进行操作
Buffer Pool Manager
also called Buffer Cache
缓冲池是一段内存,是由数据库系统控制的而不是操作系统分配控制的。 Buffer Pool分frame,页框/帧。
当发出一个请求页
- 查看Buffer Pool里面是否存在这个Page
- 如果不存在 从磁盘中copy,放到内存
- 如果存在 读
Buffer Pool的Page顺序和磁盘的Page顺序并不一致,需要额外indirection层来find某个特定的page 在哪个frame。即Page Table
Page Table
- 记录内存中有哪些page
- 根据page id找到特定page
BufferPool Meta-Data
Locks VS. Latches
Page Directory VS. Page Table
Allocation Polices
Buffer Pool Optimizations
Multiple Buffer Pools
Pre-Fectching
Scan Sharing
扫描共享