存储设备

这里主要介绍下硬盘,因为DBMS的许多设计思想都是基于硬盘的特性的。

1.硬盘的结构

2.接口

3.碎片问题

 

总结:

  硬盘作为块设备,每次最小的读取单位为块。

T读取的数据 = 寻道时间+旋转延迟。

寻道:由磁头完成,机械运动比较慢,所以随机读写的效率相对于内存的性能相差很大。

旋转延迟: 硬盘的旋转速度决定。

 

磁盘阵列:

  RAID0:串行

  RAID1:冗余备份

  RAID5:舆模式  A 于 (A+B) = B

  RAID1+0:结合0,1模式 

 

对应的Oracle的存储结构

Tablesapce -> segment -> extent -> oracle block

 

块结构:

  |——————|

  |   Header  |

  |——————|

  |Free Space  |

  |——————|

  |  Data   |

  |——————|

数据库的类型设计

  定长字段:

  变长字段:

  超大字段:

 

  • 字段组成为记录
  • 定长记录在块中的位置
  • 块地址与行地址
  • 变长字段和记录
      • 字段记录方法:eg: varchar(200) : card  => 4card
      • 变长字段写在记录的末尾,有指针指向这个字段(指向address),如果有多个变长字段,就有多个指针
 
         行链:
               
                  //todo:
                                        

增删改查的设计

  • insert
  • update
  • delete
    • 标记删除,原因 如果做真实的数据删除,会修改很多其他的信息,如记录头的指针,索引,所以如果空间可用的情况下,在记录头部标记删除。
ORACLE 的number类型的设计:
     
 
 
 
posted @ 2016-02-13 12:52  Ken_  阅读(267)  评论(0编辑  收藏  举报