数据库系统笔记CH5(初)

news2024/12/28 18:47:43

计组的知识 虚拟存储 IEEE754标准

5.1存储层级

二级存储器磁盘和固态硬盘

红色部分是磁道,蓝色部分是扇区,绿色指示部分是数据库中的一个块/页

块/页是我们用来存储介质的一个物理单元,数据写入磁盘以块位单位写入内存,一个块的大小一般是4KB或者8KB,

东西平行的移动,乡里向外,访问磁盘中的数据确定数据确定的磁道,指到蓝色部分的时候磁盘就会停下按块读取数据,读写时间延迟相同

从工作原理可以知道什么,假如读取三个数据,三个数据连一块会在一个磁道上连续的部分读取效率比较高 ,利用空间的局部性,存取效率比较高,如果不是会花费寻道的时间,寻道之后还得找到位置,必须考虑数据的存储特性。

很多磁盘也不是一个磁片,有很多的盘,这样的时候可以把数据放在同一个柱面中也能提高访存效率。

固态硬盘和他相比访问延迟更低,固态硬盘的不足损耗 反复在一个地方擦写会减少使用寿命,比较贵,读写速度(固态硬盘的读写过程先擦,然后读写),导致读写时间不同,在应用中既有读写时,怎么提高他的性能。

5.2基于磁盘的DB存储

 也可以存在内存中,面向主存的数据库存储,和上图相比更快,不用经过IO,但是容易丢失,面向列的数据库存储,按列进行组织同一列的数据会时同一种类型,列的数据进行压缩的时候会比行压缩的时候更方便。行的话,数据类型可能不同。

SIMD 单指令流多数据流 对数据进行并行的处理来加速计算

为啥不用操作系统直接管理内存系统,操作系统的内存映射,将一个磁盘的文件,我们对于这个流部分的所有流的管理都交给操作系统了,缓冲区管理器,可以对这部分的内容进行更好的管理。

目标:理解内存映射。

在访问之前已经存入内存缓冲池了

设计目标

文件组织

一个文件由很多个页构成,这些页怎么组织是我们学习主要内容,在一个数据库里,不管是索引的数据还是数据字典的源数据,他们都是以块的形式存储,

 通过号码,标识符访问到是哪一个页,页号是一个虚拟地址,不像内存地址,间接层的做法,把实际的地址转换为物理地址。

  • 面向行的存储有利于查询,
  • 分析型数据库GROUP BY,分组聚集做统计这样的任务一般是分析型任务,一个企业想了解某一商品在某一时间的销量是多少,他的查询会根据列进行查询,求平均分......

字符串以字节的方式进行存储。可以通过连接的方式把不同的属性拼在一起,通过元组所在的(模式)确定字节的大小。

空隙加进去的目的是对其:访问的时候更优化,由可能减少一次访问, 

 变长怎么办????

可以设置一个指针数组,有几个属性指针数组就有多长,有一个偏移量。

页布局

 面向元组数据的组织方法:

 指针也存了属性的长度,

VACUUM FULL清除空白

此时id =  3的值是X,从后向前去找,越往下越新。

缺点:随着数据的写入性能会不断下降。

文件的组织方式:

  • 堆文件 特点:元组排序无序。
  • 哈希文件:文件中的元组是按元组的一个键的哈希值决定位置。一个页存放的是值相同的元素,类似于一个个的桶。但是只是等值比较的时候快,其他时候性能基本不变。
  • 顺序/有序文件组织:可以建立二级索引 可以先按照年龄排序 然后建立在年龄的索引

内存的组织

缓冲区管理

buffer bool 数据里的文件太大,必须经过一个内存来作为中间的桥梁

 结构:pin_count = 0的时候才能被使用。 dierty位看是否被修改过。

 

这种事有地方的情况

 

第二种情况事没地方的情况, 需要及时写回去,否则数据容易丢。叫做页的替换策略,页的替换策略可以自己预习一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/424604.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目管理中,这些思维误区一定要避开

项目需要在限定的时间要求完成的事情,可控的关键把握是:人、时、事。 但是,项目实施时间一般较长,总有很多项目实施结果不尽人意。那么,IT项目管理过程中,容易出现哪些思维误区呢? 1、忘记项…

react性能优化之shouldComponentUpdate的原理剖析

shouldComponentUpdate原理讲解shouldComponentUpdate是干什么的怎么使state更新而render函数不执行呢?使用shouldComponentUpdate完成性能优化当组件的state没有变化,props也没有变化,render函数可能执行吗?pureComponent的基本用…

北京小厂Java实习面经

目录1.数据库的三大范式2.事务四个特性3.知道多少种索引,分别讲讲4.主键索引和唯一索引的区别5.索引失效的场景6.数据库的日志知道哪些,分别讲讲7.redis的数据结构和应用场景8.缓存击穿是怎么产生的,解决方案9.redis中key的过期策略10.redis内…

达梦数据库支持GB18030-2022中文编码字符集证明方法

既然是证明就要做到有图有真相。 证明途径1:系统概览法 查看达梦数据库“管理工具”->“对象导航”->“管理服务器”-“系统概览”->“字符集编码”->”GB18030”. 看见”GB18030”字样就是证据之一。如果你没有看见这个字样,而是UTF8等其…

1. 大端法和小端法

int32_t num 0x01020304;一个int32_t是4个字节,在内存中的存储是高位字节在低地址,低位字节在高地址。 (数字)前者的高低是数字位数的高低,左边是高位数,右边是低位数; (地址&…

git代码使用空格缩进

1、idea设置缩进符为空格 Java 代码 golang 代码 2、设置提交仓库时的空格处理,否则 golang 代码为了减少文件大小,可能会把空格缩进改为制表符。 设置当前仓库配置 git config core.whitespace "-trailing-space,space-before-tab" 设置当前…

Pytorch深度学习实战3-7:详解数据加载DataLoader与模型处理

目录1 数据集Dataset2 数据加载DataLoader3 常用预处理方法4 模型处理5 实例:MNIST数据集处理1 数据集Dataset Dataset类是Pytorch中图像数据集操作的核心类,Pytorch中所有数据集加载类都继承自Dataset父类。当我们自定义数据集处理时,必须实…

从TOP25榜单,看半导体之变

据SIA报告显示,2022年全球半导体销售额创历史新高达到5740亿美元。尽管2022年下半年,半导体市场出现了周期性的低迷,但其全年的销售额相较2021年增长了3.3%。 近日,市调机构Gartner发布了全球以及中国大陆TOP25名半导体厂商的排名…

js数组API的时间复杂度大全

一句话总结: 数组为连续且有序的数据结构, 所以若根据下标查找则很快,index[i]一步到位就可实现查询,若遍历查找则很慢(相对而言)。而插入和删除,除了数组末尾的增删很快,其它处则很慢,因为若数组某处要插入…

【服务器数据恢复】 重装系统导致xfs文件系统分区丢失的数据恢复案例

服务器数据恢复环境: EMC某型号存储,20块磁盘组建raid5磁盘阵列,划分2个lun。 服务器故障: 管理员执行重装系统操作后发现分区发生改变,原先的sdc3分区丢失,该分区采用xfs文件系统,存储了公司重…

开放式耳机好用吗,推荐几款不错的开放式耳机

​开放式耳机是一种新型的耳机,相比于传统的耳机,开放式耳机听歌时不需要将耳朵堵上,不会因为长时间佩戴而对听力造成损害。它不需要入耳也能听到声音,在户外运动时能够及时听到环境音,避免安全隐患。现在在骨传导市面…

nodejs+vue 沃健身房管理系统

3)系统分析 本章主要是对系统可行性、系统性能、还有系统功能需求进行分析。 (4)系统设计 对系统系统功能和数据库等进行详细讲解。 (5)系统的实现 主要对个人中心、课程分类管理、用户管理、健身器材管理、健身教练管理、预约教练管理、健身课程管理、课程订单管理、健身视频管…

ESP32学习笔记08-adc单通道数据采集

8. adc单通道数据采集 8.1RTC SAR ADC 控制器 8.2ADC相关的api 8.2.1 配置adc的位宽 esp_err_t adc1_config_width(adc_bits_width_t width_bit);width_bit :位宽 返回值 ESP_OK 配置成功 ESP_ERR_INVALID_ARG 参数错误 esp32最大的宽度的12位typedef enum {

STM8S208MB -> 寄存器方式实现对Flash的连续读写操作(IAR)

代码 File: STM8S208MB_Flash_Op.c /*file: STM8S208MB_Flash_Op.cbrief: 读写Flashdata: 2023-04-14author: ArcherQAQ */#include "STM8S208MB_Flash_Op.h" #include "stdio.h"u8 dataBuf[] {0xFF, 0xFF}; // 写入Flash的数据 u8 Rec_Buf[100] {0x00…

天猫数据分析:2023年速食品(方便面)市场数据分析

我国的方便面市场是一个比较活跃的市场,其市场规模也比较庞大。近年来,随着中国经济的发展,消费者对方便面的需求量和要求也在不断变化,因此,我国方便面市场的规模和消费者的需求环境也正在不断改变。 根据鲸参谋电商数…

Excel技能之排名,小函数很强大

你还在熬夜加班搞Excel吗? 你还在用手指,指着电脑屏幕,一行一行核对数据吗? 你还在害怕被笑而不敢问同事吗? 赶紧来学Excel,收藏加关注,偷偷地进步!日积月累,必成大器&am…

12-python内存地址

1.查看内存地址 a1 print(id(a)) # 24319294835042.数据类型 (1)不可变数据类型:数值、字符串、布尔值、元组 数据存储在计算机中的某个位置,不管赋值给谁,内存地址都相同 a"jack" b"jack" prin…

常见分布式锁3:Redis setNx

Redis实现分布式锁的核心便在于SETNX命令,它是SET if Not eXists的缩写,如果键不存在,则将键设置为给定值,在这种情况下,它等于SET;当键已存在时,不执行任何操作;成功时返回1&#x…

【python游戏】努力制造阳光,让植物有力量对抗僵尸吧~

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 晃着脑袋生产阳光的向日葵,突突突吐着子弹的豌豆射手!​ 行动迟缓种类丰富的僵尸…… 印象最深的是“僵尸吃掉了你的脑子!” 还有疯狂的戴夫,无一不唤醒着我们的童年记忆​ 山…

Hive 拉链表的两种实现方式

目录 1.什么是拉链表 2.拉链表的产生背景 2.1数据同步 2.1.1全量同步 2.1.2增量同步 2.2增量同步和拉链表 3.拉链表的实现方式 3.1数据准备 3.2思路1 3.3思路2 1.什么是拉链表 我们首先要知道,拉链表是一个逻辑上的概念。 拉链表记录的是增量数据&#x…