Storage:
Storage manager
Storage technology: RAM SSD 老一代存储技术
Cost models: transfer time / read / write time
数据库传输 读写速度是有要求的,太慢是无法接受的
File management: 磁盘空间的管理
etc. 堆比链表快
DB file management organization
一个data server 有多个 database
data
rel -> table
page -> tuple
tuple
page id = file id + offset
tuple id = page id + index
//select name from employee
DB db = openDatabase("myDB");
Rel r = openRel(db,"Employee");
Scan s = startScan(r);
Tuple t;
while((t = nextTuple(s)) != NULL){
char *name = getField(t, "name");
printf("%s\n", name);
}
single-file disk manager
multi-file disk manager
单一文件 存放 each relation 信息 catalog
不同于 single-file disk 把所有东西混在一起
buffer pool
保留从数据库文件读取的page,以备将来重用
读取时需要的page id 就被留在buffer pool里面
operation:
request page 如果 page 在 buffer pool 里面 就直接提取,
如果不在,再去file里面取。
减少了每次去数据库读取数据的时间
buffer pool page replacement policies
Least recently used 最近最少使用算法
Most recently used 最近最常使用算法
first in first out 先进先出算法
random 随机算法
MRU 最近使用的那个释放掉
R 和 S join:
R 0、R1、R2分别和 S0、S1、S2、S3 进行join操作
重点:
MRU LRU 算法
r、R、b 等 symbol representation