From 9f065df9966a9aea5141d1dd694b3da348a17131 Mon Sep 17 00:00:00 2001
From: lin <794767404@qq.com>
Date: Thu, 4 Jan 2024 10:57:27 +0800
Subject: [PATCH] databse-systems: memory management
---
_posts/2023-12-17-database-systems.md | 59 ++++++++++++++---------
assets/posts/mysql-approximate-lru-k.png | Bin 0 -> 161358 bytes
2 files changed, 36 insertions(+), 23 deletions(-)
create mode 100644 assets/posts/mysql-approximate-lru-k.png
diff --git a/_posts/2023-12-17-database-systems.md b/_posts/2023-12-17-database-systems.md
index b64e8884a3c..16a8ee51cc1 100644
--- a/_posts/2023-12-17-database-systems.md
+++ b/_posts/2023-12-17-database-systems.md
@@ -352,7 +352,7 @@ Dictionary数据结构
### 优化
-**多个Buffer Pool**
+**Multiple Buffer Pools**
DBMS可以为不同的目的维护多个Buffer Pool, 如:
- 每个数据库一个Buffer Pool
- 每个Page类型一个Buffer Pool
@@ -362,7 +362,7 @@ DBMS可以为不同的目的维护多个Buffer Pool, 如:
![Object ID映射到Buffer Pool](/assets/posts/multiple-buffer-pools-with-object-id.png)
- Hash: 对PageID进行哈希以选择Buffer Pool。
-**预取**
+**Pre-fetching**
通过基于查询计划, 进行Page预取来进行优化:
- 在处理第一组Page时,预取第二组Page
@@ -376,17 +376,18 @@ WHERE val BETWEEN 100 AND 250
![根据索引进行Page预取](/assets/posts/dbms-page-prefetch-by-index.png)
-**扫描共享(同步扫描)**
+**Scan Sharing (Synchronized Scans)**
查询游标可以重用从存储中检索的数据, 或完成计算的操作数据:
- 允许多个查询连接到扫描表的单个游标
- 如果一个新查询将开始扫描表,发现存在现有查询正在执行此操作,那么DBMS会将新查询的游标连接到现有游标。DBMS跟踪新查询加入现有查询时的位置,以便在到达数据结构末尾时继续完成扫描。
-**绕过Buffer Pool**
+**Buffer Pool Bypass**
不将顺序扫描操作获取的Page存储到Buffer Pool中以避免污染, 因为这些页面再次命中率低:
- 使用本查询的本地内存
- 也会用于需要存储临时数据的操作, 如sorting, joins
+
例子: Informix的[Light Scans](https://www.ibm.com/docs/en/informix-servers/14.10?topic=io-light-scans)
### 缓冲替换策略
@@ -422,36 +423,48 @@ LRU和CLOCK易受到sequential flooding(顺序泛滥)的影响: 由于顺序扫
Sequential Flooding导致Q3需要的Page0被淘汰
解决方案:
-LRU-K: 跟踪最近K个引用的历史时间戳,并计算连续访问之间的间隔。此历史用于预测下一次访问Page的时间。
-查询的本地化: DBMS在每个事务/查询基础上选择淘汰哪些Page。这减少了每个查询对Buffer Pool的污染。
-优先级提示: 事务根据查询执行的上下文, 告诉Buffer Pool哪些Page是重要/不重要。
+- LRU-K: 跟踪最近K次引用的历史时间戳,并计算连续访问之间的间隔。淘汰掉间隔最大的Page。
+ MySQL的近似LRU-K:
+ - 为LRU List维护两个HEAD, Young Head和Old Head, 将List划分为Young List和Old List.
+ - 新Page先插入Old Head;
+ - Old List里的Page被再次访问时, 将其插入到Young Head
+
+ ![MySQL Approximate LRU-K](/assets/posts/mysql-approximate-lru-k.png)
-### 脏页
+- 查询的本地化: DBMS在每个事务/查询基础上选择淘汰哪些Page。这减少了每个查询对Buffer Pool的污染。
+- 优先级提示: 事务根据查询执行的上下文, 告诉Buffer Pool哪些Page是重要/不重要。比如:
+ - 将tree index的root所在page设置高优先级
+ - 自增id插入时将覆盖id范围的page设置高优先级
+
+### 脏页淘汰
处理带有脏标志的Page的方法:
-- 最快的选项是丢弃Buffer Pool中不脏的任何Page
-- 较慢的方法是将脏页写回磁盘,以确保其更改被持久化。
+- 最快的方式: 丢弃**不**带脏标志的任何Page
+- 较慢的方式: 将脏页写回磁盘,确保其更改被持久化。
-这两种方法说明了快速淘汰与写回将来不会再次读取的Page之间的权衡。
-避免不必要写出Page的问题的一种方法是背景写入。通过背景写入,DBMS可以定期遍历Page Table并将脏页写回磁盘。当脏页安全写入时,DBMS可以驱逐Page或仅取消脏标志。
+需根据硬件性能权衡: 快速淘汰干净Page, 还是将不会再次读取的脏Page写回。
+通过定期后台写入脏页任务可以取消脏标志。
### 其他内存池
-DBMS需要内存来存储除了元组和索引之外的其他信息。这些其他内存池根据具体实现可能并不总是由磁盘支持。
+
+DBMS需要内存来存储除了Tuple和索引之外的其他信息。这些其他内存池根据具体实现可能并不总是由磁盘支持。
- 排序 + 连接缓冲区
- 查询缓存
- 维护缓冲区
- 日志缓冲区
- 字典缓存
-### 操作系统页面缓存
-大多数磁盘操作通过操作系统API进行。除非明确说明,否则操作系统会维护自己的文件系统缓存。
-大多数DBMS使用直接I/O来绕过操作系统的缓存,以避免页面的冗余复制和管理不同的淘汰策略。
-Postgres是一个使用操作系统页面缓存的数据库系统的例子。
+### 磁盘IO调度
-### 磁盘I/O调度
-DBMS维护内部队列来跟踪来自整个系统的页面读写请求。任务的优先级取决于多个因素:
-- 顺序 vs. 随机I/O
-- 临界路径任务 vs. 后台任务
-- 表 vs. 索引 vs. 日志 vs. 瞬时数据
+多数DBMS文档推荐将OS调度器设置为Deadline或NOOP(FIFO), 并自己维护内部队列在更高语义上跟踪来自整个系统的页面读写请求, 以优化IO性能。如: [Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/23/ladbi/setting-the-disk-io-scheduler-on-linux.html#GUID-B59FCEFB-20F9-4E64-8155-7A61B38D8CDF), [Vertica](https://docs.vertica.com/23.3.x/en/setup/set-up-on-premises/before-you-install/manually-configured-os-settings/io-scheduling/), [MySQL](https://dev.mysql.com/doc/refman/8.0/en/innodb-linux-native-aio.html)
+
+任务的优先级取决于多个因素:
+- 顺序 vs 随机IO
+- 关键任务 vs 后台任务
+- 表 vs 索引(有latch故高优先级) vs 日志(尽快写出) vs 临时数据
- 事务信息
-- 基于用户的服务水平协议(SLAs)
\ No newline at end of file
+- 基于用户的服务水平协议(SLAs)
+
+### OS Page Cache
+
+通常系统会维护自身文件页缓存,这会导致一份数据分别在操作系统和 DBMS 中被缓存两次。大多数DBMS都会使用 (O_DIRECT) 来告诉 OS 不要缓存这些数据
diff --git a/assets/posts/mysql-approximate-lru-k.png b/assets/posts/mysql-approximate-lru-k.png
new file mode 100644
index 0000000000000000000000000000000000000000..1dea4291248da33fa89110304f62c2a2c762e786
GIT binary patch
literal 161358
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