zoukankan      html  css  js  c++  java
  • DB Storage Structure

    Storage Hierarchy存储层次结构

    主存:最快,易失性

    cache,主存

    二级存储:非易失性,访问时间适中

    闪存

    闪存:可用于制造没有活动部件的驱动器

    SSD,USB存储

    Block Level Storage

    Block: a logical unit for storage allocation and retrieval

    Disk Structure

    在每个块中,每个字节可以有自己的地址,称为偏移量

    存取(读/写)块的时间

    访问时间:从发出读取或写入请求到开始数据传输所花费的时间

    访问方式

    顺序访问模式

    随机访问模式

    Arranging Blocks on Disk

    最快读取下一个磁盘块

    按磁盘上的“下一个”顺序排列文件块

    数据库文件

    数据库存储为数据库文件的集合

    块/页面是数据存储的基本单位

    磁盘I / O操作在块/页面级别执行

    Fixed Length Records固定长度记录

    所有记录大小是固定的

    每个记录具有相同的字段,并且字段长度是固定的

    系统可以识别每个字段相对于记录起始位置的起始字节位置

    Variable Length Records可变长度记录

    我们不知道某些字段值的确切长度

    确定代表每个字段的特定记录中的字节

    数据库中的文件组织

    堆文件组织

    file顺序文件组织

    B+树文件组织

    Hash文件组织

    堆文件组织(Heap File Organization)

    记录可以放置在文件中任何有可用空间的地方

    没有记录的顺序

    一旦数据块已满,下一条记录将存储在新块中

    记录一旦分配通常不会移动

    找到记录的时间:假设有b个块,平均而言,找到记录时将访问(b / 2)个块,而找不到记录时将访问b个块

    插入记录:对于堆文件组织,我们通过添加到现有记录来插入添加记录

    删除记录:

    第一种方法,删除记录后,将其后的记录移到以前由删除的记录占用的空间中,依此类推,需要移动大量记录

    第二种方法,将文件的后续记录从已删除记录所占用的空间开始插入

    第三种方法,保留已删除记录所占用的空间,并等待下一次插入,然后再使用该空间

    优缺点

    适合批量插入,只需将一个接一个地插入存储块即可

    随着文件大小的增加,线性搜索记录变得很耗时

    顺序文件

    组织/排序记录

    根据“搜索关键字”的值,记录按顺序存储

    插入和删除记录时维护物理顺序的成本很高

    使用指针将搜索顺序中的记录链接在一起

    定期重新排序,以便以与物理顺序匹配的顺序存储记录

  • 相关阅读:
    As3支持的Html标签一览
    SharpPcap 3.4使用范例
    十六章:构建自定义集合(Part 2)
    十七章:反射、特性和动态编程(Part 1)
    十六章:构建自定义集合(Part 1)
    Implementing Finalize and Dispose to Clean Up Unmanaged Resources
    HDU1711Number Sequence(KMP)
    HDU2087剪花布条(KMP)
    HDU1671Phone List (trie树)
    HDU 1075 What are you talking about(trie树)
  • 原文地址:https://www.cnblogs.com/ak918xp/p/13958728.html
Copyright © 2011-2022 走看看