Storage Hierachy
primary storage
secondary storage
cpu沒辦法直接處理
慢
容量大
tertiary storage
optical disks, tapes
for arcihving DB
電腦记忆層次
- cache memory(靜態 RAM)
- main memory(動態 RAM)
- flash memory
- magnetic disk
- CD-Rom,DVD,Juke
Physical Database Design
SQL query 'join' 和不'join’爲啥速度差那麽大
Disk
Disk Access
disk access time = seek time + rotation delay / latency + block transfer time
和 RAM 的搜寻不一样
以往学的sorting都是RAM里面的,属于Internal Sorting
资料太大必须放disk里面:External Sorting
seek + latency 9~60 msec(慢)
transfer blocks 0.4~2 msec (快)
所以资料要放在连续的位置
如何让Disk中Data Access更有效率
- 善用缓冲区
-- buffering of blocks
-- 高速公路闸道
-- 主记忆体的一小块
--double buffering - Organization of data on disk
-- 放在disk 的连续的track 上面 - Disk scheduling
-- 改变抓资料的顺序 - Prefetch
- Use of log disks to temporarily hold wtires
-- 先记录修改资料的操作,之后再实际写入 - Use of SSDs for recovery purpose
-- 应对系统crash的情况
-- 不用disk
Operation on Files
- open
- reset
- find
- read
- findnext
- delete
-- lazy delete 先记录 有空再删 - modify
- insert
-- 先append,有空再insert
以上都是对一笔资料进行操作
Static & Dynamic Files
Static files : 很少更新
Dynamic files: 经常更新
Primary File Organization
- Heap files(堆积) (unsorted files, pipe files, sequential files)
-- 新的资料就append到后面
-- 删除很慢。新增很快 - Sorted files
-- 可以做binary search - Hash files
。
网友评论