数据库读写的三个地址空间

数据库的读写过程会经历三个地址空间。

1. disk

2. buffer

3. 当前查询或事务自己的地址空间。

所有输入数据都要先流经buffer才能到达disk。反之亦然:所有输出数据都要先从disk进入buffer,才会到达客户端。 

也就是说,可以 3=>2=>1或1=>2=>3, 不能直接1=>3或3=>1.

不仅数据读写如此,redo log和undo log的写入也要先经buffer,才能进入disk.  

有个专门的buffer manager来管理buffer, 比如在什么时机将数据flush至disk, 就是由它来决定的。

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.