新闻详情

新闻详情

首页 / 资讯中心 / 详情

03-数据库学习笔记(数据库存储)

发布时间:2026/9/30 2:23:01来源:尧图网络
03-数据库学习笔记(数据库存储)
一.数据库的存储层次与系统设计目标1.存储层次架构五级存储层级由近及远、由快到慢1. 寄存器RegCPU 内置速度最快、容量最小字节级CPU 直接运算使用延迟1ns。2. 高速缓存 CacheL1→L2→L3CPU 片内缓存KB~MB 级。L1/L2单核心私有速度快L3多核共享容量更大、稍慢。作用缓存热点数据减少内存访问延迟几几十 ns。断电数据丢失。3. 主存RAM 内存主板内存条DRAM 介质GB~TB 级。程序运行的核心载体CPU 仅直接读写缓存 / 内存延迟 60-120ns。断电数据丢失。4. 外存SSD/HDD持久化存储TB 海量容量、价格低廉断电保留数据。SSD闪存微秒级延迟速度快HDD机械盘毫秒级延迟速度慢。5. 远程云存储NAS、网盘等受网络限制速度最慢用于海量数据归档共享。核心思想速度越快 → 容量越小 → 单价越高速度越慢 → 容量越大 → 单价越低。易失性断电丢失寄存器、Cache、内存非易失性断电保留SSD、HDD、云存储1.为什么数据库采用多级存储为了综合利用不同存储介质的速度和容量特点在降低成本的同时提高数据访问效率。2.为什么数据库按页读取磁盘随机访问代价高一次读取一个数据页可以减少I/O次数。3.既然有内存RAM了为什么还要设计寄存器和高速缓存直接用内存不行吗答CPU运行速度远远快于内存如果没有寄存器和高速缓存CPU会经常“等数据”导致计算机性能大幅下降。2.数据库系统设计目标由于内存容量有限、磁盘 I/O 缓慢数据库系统设计目标能够管理超过内存大小的数据通过缓冲区减少磁盘读写并充分利用磁盘顺序访问高效的特性尽可能规避开销巨大的随机 I/O。内存速度快但小磁盘容量大但是慢数据库所有存储层设计都是为了弥合两者速度差距。3.数据库磁盘上的组织方式数据库按照数据库文件页记录字段进行组织。4.DBMS和操作系统的区别DBMS和操作系统都是资源管理软件操作系统负责管理计算机硬件资源DBMS负责管理数据资源整体位置关系用户→应用程序→DBMS→操作系统→硬件例如打开一个购物APP购物APP→数据库MySQL→WindosLinux→硬盘CPU内存为什么数据库不直接使用操作系统管理文件数据库需要针对数据查询、索引、事务、缓存等进行专门优化而操作系统只能提供通用资源管理。二.数据库页核心设计1.页的概念页是磁盘与内存交互的最小单位操作系统不能只读一行数据每次读写必须一次性读取 / 写入一整页。页的大小通常是固定的但是不同数据库系统、不同存储引擎的页大小可能不同。类比一本书里的一页纸看书最少翻一整页不能只看半行文字。2.三类页概念硬件页数据库页操作系统页不是同一个东西三者位于不同层次大小和作用都不同。他们都是为了提高存储访问效率而设计的“数据管理单位”。整体关系数据库页→操作系统页→硬件页→磁盘扇区1硬件页解决如何高效访问存储设备硬件页是由存储设备或硬件层定义的数据管理单位。它关注的是硬件如何组织和读取数据传统磁盘最底层单位盘片→磁道→扇区扇区是磁盘最小的物理读写单位作用硬件不可能一次只读取一个字节。因为定位成本高磁头移动耗时控制复杂。所以硬件规定一次读取一个固定大小的数据块2操作系统页解决如何高效管理内存操作系统页是操作系统管理内存的基本单位。操作系统负责CPU→内存RAM→程序操作系统页主要解决的问题1.内存管理 2.虚拟内存3数据库页解决如何高效组织和查询数据数据库页是DBMS管理数据存储的基本单位数据库不直接管理每条记录而是管理由多个记录组成一个Page为什么数据库需要自己的页因为操作系统并不知道数据库的组织结构3.为什么需要页原因1磁盘随机读写速度极慢如果每次只读取一行数据来回访问磁盘开销巨大。把多条行数据打包放进一个页里查任意一行整页载入内存批量读写大幅减少磁盘 IO 次数提升数据库速度。原因2空间局部性原理如果一个数据刚被访问附近的数据也可能马上被访问所以也要缓存一次性读一页很划算4.页的分区页头记录页码、前后页指针、空闲空间大小等页面基础信息槽页槽页是页内的 “目录区”记录行数据的位置用来快速定位行。页目录页内行数据的索引目录快速定位某一行不用逐行遍历用户记录存放一条条行数据元组包含隐藏列 自定义字段空闲空间留白区域新增数据、删除回收的空间都放这里页尾校验和校验页面数据是否损坏5.页的分类硬件页磁盘最小格子512 字节硬件固定规格只能按格子读写。操作系统页系统把 8 个小格子拼成一个 4KB 盒子内存磁盘交换统一用这个盒子不用来回搬运细碎格子。数据库页数据库再把 4 个系统盒子拼成 16KB 大箱子。一次搬一整箱一箱装很多行数据极大减少磁盘走动次数提速读写。设计目的逐层统一打包小块数据减少频繁磁盘访问6.堆文件堆文件是一种无序的页面集合其中的元组以随机顺序存储。堆文件就像“一个杂乱的文件柜”里面的文件页没有固定顺序随便放找文件时需要看目录页目录。存储特点数据行毫无顺序堆放没有排序规则、没有主键顺序约束。写入新数据直接追加到文件末尾插入速度很快。查询无索引时只能从头到尾逐行遍历全表扫描查找很慢。本质无序的数据收纳堆只适合频繁插入、极少按条件检索的场景。为什么需要堆文件如果要求每次插入数据都排序为了保持顺序当数据量很大时效率会很低。所以数据库提供了一种简单的方式当新数据来了直接找一个空位置放进去这就是堆文件。三.元组布局1.什么是元组元组就是关系表中的一行记录2.元组有哪些特点元组是无序的元组中的属性有顺序每一个位置对应一个属性不能随意改变属性顺序元组必须唯一以为关系是集合集合中不能有完全相同的元素3.元组和记录的区别二者都表示“一行数据”但二者的侧重点不同元组属于逻辑层关注数据模型中的一行数据的实际含义记录属于存储层关注数据在磁盘中对的存储形式
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

GEO 服务商选型评估框架 2026/9/30 15:32:47

GEO 服务商选型评估框架

GEO 是一个新赛道,服务商水平参差不齐。企业选型时缺少标准,往往被"覆盖多少个平台""几千个关键词"这类数字吸引,结果交付时发现既无法验证,也无法追责。一、六个评估维度维度一:业务专注度看服务…

阅读更多 →
多孩家庭长途出行,丰田HEV第三排空间和油耗表现如何? 2026/9/30 15:32:41

多孩家庭长途出行,丰田HEV第三排空间和油耗表现如何?

多孩家庭长途出行,丰田HEV能胜任吗?能,但前提是选对车型、并接受“空间和油耗都需要实测”这个事实。丰田智能电混双擎(HEV)无需外接充电,长途补能像燃油车一样方便,确实适合没有固定充电桩的家…

阅读更多 →
跨境电商主要模式怎么选?2026 卖家选型全攻略 2026/9/30 15:32:34

跨境电商主要模式怎么选?2026 卖家选型全攻略

摘要:跨境电商主要模式怎么选,取决于你的供应链、资金与团队能力。本文从三张底牌出发,拆解四种模式的匹配逻辑,并指出选型中的常见误区,帮你做出清醒决策。 选跨境电商主要模式,本质不是选平台&#xff0…

阅读更多 →
AI辅助测试用例生成实战:从提示词设计到自动化落地 2026/9/30 15:32:27

AI辅助测试用例生成实战:从提示词设计到自动化落地

说到AI辅助测试用例生成,我一开始是抗拒的。做了七八年测试,Excel里几万条用例都是我一条条敲出来的,你告诉我一个对话框就能生成?但后来项目紧急,一个模块需要在一周内补出覆盖登录、权限、支付三个场景的用例&#x…

阅读更多 →
AI辅助测试用例生成全流程:提示词、审核与避坑指南 2026/9/30 15:32:27

AI辅助测试用例生成全流程:提示词、审核与避坑指南

平时测试工作里,最耗时间的是什么?我干了不少年,答案很固定,不是写自动化脚本,也不是搭环境,而是设计测试用例。需求一多,边界条件一杂,脑子就转不动。后来我开始把这一块交给AI辅助…

阅读更多 →
卷积神经网络模块全解析:从卷积、池化到残差与注意力 2026/9/30 15:32:07

卷积神经网络模块全解析:从卷积、池化到残差与注意力

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉