美文网首页
数据存储在磁盘上的方式

数据存储在磁盘上的方式

作者: 大胡子_biu | 来源:发表于2018-05-28 17:13 被阅读0次

约定:一条记录表示一个数据元素(元祖或对象),在磁盘块(操作系统和磁盘交互的最小单位)中的连续字节存放。

模式:模式是表,视图,断言,触发器和其他信息类型。

目录:模式的集合,支持唯一的可访问术语的基本单元,每个目录有一个或多个模式,目录中模式名唯一,每个目录包含一个特殊模式,该模式包含了目录下所有模式的信息。

簇:目录的集合。每个用户有关联的簇,表示用户可访问的所有目录。簇是被提交的查询的最大范围,所以一定程度上,簇就是用户看到的数据库。

通常一个磁盘块只保存一个关系的元素(关系就是表,元素就是记录)。但是也可能一个磁盘块保存多个关系的元素。

本文讲解记录与磁盘块的基本组织技术。

1. 定长记录

记录以记录的首部开始,首部是关于记录自身信息的一个定长区域,保存如下信息

当数据的开始地址是4或8的倍数时,很多机器允许甚至要求更高的内存读取速率,所以通常会要求数据的开始地址是4或8的倍数。

1.一个指向该记录存储数据模式的指针。例如一个元祖的记录可以指向元祖所属的关系的模式,此信息可以帮忙找到记录的字段。

2.记录长度,此信息可以帮助我们在不用查看模式的情况下略过某些记录

3.时间戳,标志这条记录最后一次被修改或者被读取的时间,此信息用于事务操作。

4.指向记录字段的指针,此信息可以代替模式信息。

下图为一个模式的例子和对应的记录格式

表MovieStar 记录格式

一个或多个记录存放在块中,如下图

一个块存储多个记录

除了记录,还有一个可选的块首部,存储如下信息

1、与其他块的连接,这些连接构成一个块网。用处如构建一整个关系所含元祖的块网。

2、表明这个块在块网中扮演的角色的信息

3、关于这个块的元祖属于哪个关系的信息

4、给出每一个记录在快内偏移量的目录(类比数组)

5、指明块最后一次修改和存取时间的时间戳

最简单的存储方式:块存储一个关系的元祖,元祖有固定格式。我们吧尽可能多的记录装入块内,留下剩余空间不用。

例:我们有一个4096字节的块(4KB),存储具有316字节长度的记录。12个字节存放首部,存放12条记录,剩余292字节小于单条记录长度,不用。

2、地址

计算机有一个虚拟的地址空间,里面有32位(或者说40亿)不同的地址,所以32位系统最多支持4g(4*10十次方)内存,现在是64位(128亿)了。操作系统或DBMS决定地址空间里那些部分目前在内存里,而硬件则将虚拟地址空间映射到主存的物理地址上。这里不进一步探讨虚拟地址转换到物理地址的过程,将客户端的地址空间看做主存本身。

物理地址

待更

相关文章

  • 数据存储在磁盘上的方式

    约定:一条记录表示一个数据元素(元祖或对象),在磁盘块(操作系统和磁盘交互的最小单位)中的连续字节存放。 模式:模...

  • 列存储与行存储 记录

    首先行存储和列存储是基于数据在磁盘上的存储方式来区分的。 天生优缺点 行存储:优点 不需要后面组装数据 缺点 查询...

  • kafka的存储方式及思考

    kafka是基于磁盘存储的,但是与数据库落盘的方式是不同的,kafka是流式存储,数据在磁盘上也是顺序写入,节约了...

  • Redis 漫谈

    从文件存储到数据库存储 文件存储 在计算机中,一切信息的存储都是以文件的方式固化在磁盘上。这是最基本、最简单的存储...

  • R语言与生信应用13-R语法-R文件操作1

    R文件操作1 获取数据的方式 利用键盘输入数据 读取存储在磁盘上的数据文件 通过开放数据库连接(ODBC, Ope...

  • SQLite数据库

    在学习SQLite之前,首先了解下数据持久化的几种方式: 定义:数据持久化是通过文件将数据存储在磁盘上 IOS下主...

  • MySQL 基本概念说明-mage

    数据存储的基本概念 传统的存储数据方式,是把数据放到一个文件中,存放在磁盘上。当程序要用时,cpu会把数据加载到内...

  • iOS--FMDB

    一、数据持久化 数据持久化是通过文件将数据存储在磁盘上 1、iOS下主要有四种数据持久化方式 1)属性列表 2)对...

  • MySql数据是如何存储在磁盘上存储的?

    关于MySql数据库,相信很多人都不陌生,这是当今最常用的一种关系型数据库,关于MySql的知识也是很丰富的。 那...

  • 数据结构与算法之LSM树

    1、引言 对于一个数据库的性能来说,其数据的组织方式至关重要。众所周知,数据库的数据大多存储在磁盘上,而磁盘的访问...

网友评论

      本文标题:数据存储在磁盘上的方式

      本文链接:https://www.haomeiwen.com/subject/ibwwjftx.html