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
![image-20221025133710859](https://i-blog.csdnimg.cn/blog_migrate/3c0c79286a25d066e885444e5e5b0fc3.png)
Locks VS. Latches
![image-20221025133746547](https://i-blog.csdnimg.cn/blog_migrate/dad8523903b7f5ef682020f4277c22bc.png)
Page Directory VS. Page Table
![image-20221025133830881](https://i-blog.csdnimg.cn/blog_migrate/80a6b5a591441e4f44f89583662725d1.png)
Allocation Polices
![image-20221025133941731](https://i-blog.csdnimg.cn/blog_migrate/68352f3fe4556a67eb5f98dacc7c0b5e.png)
Buffer Pool Optimizations
Multiple Buffer Pools
![image-20221025134045089](https://i-blog.csdnimg.cn/blog_migrate/3540860bd06a9d82b4db2c987d910293.png)
Pre-Fectching
![image-20221025134107917](https://i-blog.csdnimg.cn/blog_migrate/532c515740772efadc6ceb35d8a6c991.png)
Scan Sharing
扫描共享
![image-20221025134202074](https://i-blog.csdnimg.cn/blog_migrate/bda6e00cfe05b1b9478d47b939f203a7.png)
![image-20221025134218262](https://i-blog.csdnimg.cn/blog_migrate/9d04d5c6a68459db61e04535c9195898.png)
BufferPool Bypass
![image-20221025134243444](https://i-blog.csdnimg.cn/blog_migrate/c2f5745cbd49e484e68ec620d779e906.png)
OS Page Cache
![image-20221025134304779](https://i-blog.csdnimg.cn/blog_migrate/840ba10b561fb592066b9cb139489c38.png)
Buffer Replacement Policies
Goals
![image-20221025134339124](https://i-blog.csdnimg.cn/blog_migrate/360302be7fb02e0f41722fb3592f858b.png)
LRU&CLOCK&LRU-K
![image-20221025134407628](https://i-blog.csdnimg.cn/blog_migrate/3829ca471c6eb9b10fa47d364a496047.png)
Localization & Priority Hints
![image-20221025134459730](https://i-blog.csdnimg.cn/blog_migrate/0aef61af3d02814176e4e0c6e76e82d1.png)
Dirty Pages
![image-20221025134519076](https://i-blog.csdnimg.cn/blog_migrate/9f47a158a3b178dd7e210f0c0c7d1524.png)