数据库实现——物理存储结构

 DBMS的数据操作算法、查询优化处理方法和事务处理算法与数据库的物理存储结构密切相关。

 数据库存储设备:

 

 flash memory 闪存

magnetic disk 磁盘存储器

optical disk 光盘

magnetic tapes 磁带

 这里的联机存储和脱机存储?

磁盘存储器:磁盘组、磁道、扇区、柱面。

 

 随机存取;所谓“随机存取”,指的是当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关。相对的,读取或写入顺序访问(SequentialAccess)存储设备中的信息时,其所需要的时间与位置就会有关系(如磁带)。

以扇区为单位进行读写;主存与磁盘交换信息必须以磁盘块为单位,磁盘块由一个或多个扇区组成。

磁盘块地址由:柱面号;面号(一个盘片=两个盘面);扇区号 组成

进行磁盘读写时,主存中必须有与磁盘块容量相匹配的缓冲区。

磁盘读写代价由:寻找时间、旋转延迟、传输时间组成。其中大部分时间花在寻找和延迟上。注意旋转延迟指定的是磁盘块

 

 

 最小化磁盘读写次数

 

 LRU(最近最少使用)least recently used

FIFO(先进先出)

立即丢弃策略

RAID redundant 多余的

 

 

 

 使用奇偶校验的方法恢复数据。

 同时还可以起到“并行读写”的方法:

 磁盘文件:

 

 

 

 数据项——文件记录(数据项集合) 对应于一个关系元组

 

 

 

 

 

 

 

 第三种方法只适用于定长,不然不知道最后一个记录的实力会不会太大了装不下

 

 

 

 

 文件存储方法:

文件难扩充,因为要求连续存储空间。

 

参照数组和链表。

 query处理高效

Hash文件:

 

简单HASN方法: 

解决桶溢出问题: 多重Hash方法、链接法

 h:散列键->i(桶编号) 可以当“主键”理解~

 

 

 动态HASH方法:

 

 

 可拓展HASH方法:

 

 

 

 

 

 

索引文件:

 

 按结构分类:稀疏索引、稠密索引、多级索引。

 

 

 

 按索引域特点分类索引:主索引、聚集索引、辅助索引

 主索引只保留磁盘块块首指针,为稀疏索引。

 

 

 第二个要加1,因为要从

 

 

 

 

 B+-树文件索引:

 

 不能保持树的平衡,检索较高级别叶节点性能低下;

删除操作可能使树的某些节点接近于空,浪费磁盘存储空间。

定义. 秩为D的B+树定义如下:

 

 叶子节点中最多存D-1条记录和一个数据指针Pnext。D为秩。

注意使用的是D/2向上取整哦 

 

 

 

 整个树都加深了一级。

 

 叶子节点下溢处理使用D/2向下取整,内节点下溢处理使用D/2向上取整

 

 最后那个145已经没了。只有一个孩子节点,要它没用。

只有叶子上的节点索引了数据文件。

代价分析:

B+树的查找效率怎么样呢?

这里,给定叶子节点的数量,我们希望树尽量的高,所以根节点用最少的儿子数量让树先增长一层,然后再算下面的高度。

 在D足够大时不考虑取整符号。可以算出来h是θ(logD(N))的。

 多维索引:

(留存一下老师上课的笔记) 

 

 

 

后面他还拓展的讲了一下LSM TreeBulkLoading。(拓展了解)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值