【如此简单!数据库入门系列】之存储设备简介

文章目录

  • 1 前言
  • 2 存储设备分类
  • 3 主存层次结构
  • 4 磁盘结构
  • 5 RAID
  • 6 总结
  • 7 系列文章


1 前言

没有存储,就没有数据!

如果说ER模型和数据库规范化是数据库概念模式的技术和方法,那么存储设备就是数据库物理模式的基础。

在这里插入图片描述
物理存储设备包含哪些类型?这些设备之间存在什么关系?存储设备特性对数据库系统有何影响?

接下来我们来讨论一下有关存储设备的内容。


2 存储设备分类

在这里插入图片描述
存储设备分为三类:

  • 主存储(Primary Storage)
    • CPU可直接访问的存储,包括寄存器(Register)和内存(RAM)
    • 容量相对较小,但是读写速度极快
    • 是易失性的,在电源故障的情况下,所有数据都会丢失
  • 辅助存储(Secondary Storage )
    • CPU无法直接访问的存储,例如,磁盘和闪存驱动器
    • 用于存储数据以备将来使用或作为备份
  • 三级存储(Tertiary Storage)
    • 计算机系统外部存储,速度最慢。例如,光盘和磁带
    • 用于存储大量数据,对整个系统进行备份

为什么要有这么多种存储设备?一个存储设备搞不定吗?

由于技术上的限制,无法解决容量、性能和成本上的矛盾,只能针对特定用途开发特定存储设备。通常来说,性能越高的存储,容量相对较小,成本也相对较高。

  • 主存储 → 辅助存储 → 三级存储:性能↓,容量↑,成本↓
  • 三级存储 → 辅助存储 → 主存储:性能↑,容量↓,成本↑

3 主存层次结构

在这里插入图片描述

主存储可以进一步再分为:

  • CPU内置寄存器(Register):性能最快
  • 高速缓存(Cache Memory):缓存CPU最频繁访问的数据,弥补主内存和CPU性能不匹配问题
  • 主内存(Main Memory):性能无法满足CPU速度要求,性能较慢,但容量大

这里的Memory和上节提到的RAM是什么关系呢?

  • RAM(Random Access Memory),即随机存取存储器,允许随机访问数据,用于存储正在运行的程序和数据,通常具备易失性,是构成高速缓存和主内存的设备。
  • 高速缓存(Cache Memory):通常由特殊的RAM构成
  • 主内存(Main Memory):通常由RAM构成

4 磁盘结构

在这里插入图片描述

磁盘是最常见的一种辅助存储设备,它由以下部分构成:

  • 盘片(Platters):磁盘由一个或多个圆形盘片组成,这些盘片由金属或玻璃制成。盘片涂有一层磁性材料,数据以磁脉冲的形式存储在上面
  • 磁头(Heads):每个盘片都有一个或多个磁头。磁头悬浮在盘片上方,并用于读写数据
  • 执行器臂(Actuator Arms):执行器臂将磁头移动到盘片的不同位置
  • 主轴(Spindle):主轴将盘片旋转
  • 磁盘控制器:磁盘控制器管理磁盘的读写操作

磁盘的工作原理:

  • 将数据写入磁盘时,磁盘控制器会将数据分解成小块(扇区,最小存储单位)
  • 执行器臂将磁头移动到要写入数据的扇区上方,然后磁头将数据写入盘片上的磁性材料中
  • 从磁盘读取数据时,执行器臂将磁头移动到要读取数据的扇区上方,然后磁头从盘片上的磁性材料中读取数据

了解磁盘的工作原理有什么用?

从工作原理中可以得出,磁盘读写的动作可分解为:移动、旋转和读写。要想提高磁盘I/O性能,就需要尽可能缩短这三个动作的时间。

磁头读写的时间是固定的,只能想办法缩短移动和旋转的时间,这就要求一次读写的数据要尽可能连续。实际上,数据库系统中有大量优化算法,其最终目的之一,就是降低磁盘I/O。


5 RAID

单个磁盘的容量有限,而且还存在单点故障问题(一个磁盘损坏,其上的数据都会丢失),因此有了RAID技术。

独立磁盘冗余阵列(Redundant Array of Independent Disks,简称RAID)是一种“虚拟化”技术,它将多个磁盘设备连接起来,对外表现为单个逻辑磁盘。

按照连接方式的不同,RAID可以分为以下几种。

RAID 0(条带化)

在这里插入图片描述

在这个级别中,实现了磁盘的条带化。数据被分解成块,这些块分布在不同的磁盘上。每个磁盘接收一个数据块实现并行读写。

它提高了存储设备的速度和性能,但是没有冗余。

RAID 1(镜像)

RAID 1 将数据镜像到两个或多个磁盘上。这提供了冗余性,因为如果一个磁盘发生故障,数据仍然可以从其他磁盘上访问。

RAID 5(分布式奇偶校验)

在这里插入图片描述

RAID 5 将数据条带化存储在多个磁盘上,并使用奇偶校验信息来提供冗余性。如果任何一个磁盘发生故障,数据仍然可以从其他磁盘和奇偶校验信息中重建。

例如,假设Disk 2损坏,A2可以根据A1和A奇偶校验重建。同理,C1可以根据C2和C奇偶校验重建,B奇偶校验可以根据B1和B2重建。

RAID 10(镜像和条带化)

RAID 10 将 RAID 1(镜像)和 RAID 0(条带化)结合在一起。它提供高性能和冗余性,但成本也更高。

除了以上常见的RAID方式外,还有RAID2,RAID3,RAID4和RAID6。

6 总结

存储设备属于硬件层面,是数据持久化的基础,但是底层的设计思想和软件层面是类似的,比如:

  • 引入中间层:软件设计中,如果遇到棘手的问题,总能通过引入一个中间层来解决。硬件中也是如此。例如,引入高速缓存来解决主内存和CPU速度不匹配问题
  • 切分和并行:分布式系统中,通过将数据切片并分布于不同的节点中,实现了扩容和性能提升。同理,RAID技术也是通过将数据切分为块,并行写入多个磁盘中,实现了扩容和性能提升。

7 系列文章

  • 【如此简单!数据库入门系列】之初识数据库 – 数据库基本概念
  • 【如此简单!数据库入门系列】之学霸数据库 – 数据库基本原理
  • 【如此简单!数据库入门系列】之学霸数据库(2) – 数据库基本原理
  • 【如此简单!数据库入门系列】之学霸数据库(3) – 数据库基本原理
  • 【如此简单!数据库入门系列】之前世今生 – 数据库历史
  • 【如此简单!数据库入门系列】之前世今生(2) – 数据库历史
  • 【如此简单!数据库入门系列】之ER模型快速入门
  • 【如此简单!数据库入门系列】之关系模型简介
  • 【如此简单!数据库入门系列】之数据库设计基础–函数依赖
  • 【如此简单!数据库入门系列】之数据库规范化 – 数据库设计方法

如果喜欢这篇文章,请不要忘记关注、点赞和收藏哦!
您的鼓励将是我创作的最大动力!

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

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

相关文章

风扇开启执行逻辑

执行流程 public static void businessExecutionWork(){//以下为业务逻辑部分System.out.println("1、根据电池包控制风扇服务执行 开始!");//1、获取电池包电压、电流、环境温度//获取电池包电压、电流、环境温度ObtainBatteryDataService obtainBatteryDataServic…

【目标检测】Deformable DETR

一、前言 论文: Deformable DETR: Deformable Transformers for End-to-End Object Detection 作者: SenseTime Research 代码: Deformable DETR 特点: 提出多尺度可变形注意力 (Multi-scale Deformable Attention) 解决DETR收敛…

柯桥西语培训之在西班牙旅游点菜哪些坑不能踩?

Por muy bien que se coma en Espaa —que es mucho— hay una cosa innegable: lo que pasa en la cocina se queda en la cocina. No todos los alimentos son igualmente seguros o sabrosos cuando se encuentran fuera de la comodidad de nuestra propia casa. Ya sea po…

数据库大作业——基于qt开发的图书管理系统 (一)环境的配置与项目需求的分析

前言 博主最近数据库原理结课要做课程设计了,要求开发基于数据库实现的图书管理系统,博主想了想决定做一个基于Qt的图书管理系统,博主在此之前其实也没有用过多少Qt,仅以此专栏记录博主学习与开发的全过程,大家一起学习,一起进步…

DS二叉搜索树

前言 我们在数据结构初阶专栏已经对二叉树进行了介绍并用C语言做了实现,但是当时没有对二叉搜树进行介绍,而是把他放到数据结构进阶构专栏的第一期来介绍,原因是后面的map和set(红黑树)是基于搜索树的,这里…

Shell脚本编写-定时清空文件内容,定时记录文件内容大小

find命令 – 根据路径和条件搜索指定文件 – Linux命令大全(手册)find命令的功能是根据给定的路径和条件查找相关文件或目录,其参数灵活方便,且支持正则表达式,结合管道符后能够实现更加复杂的功能,是Linux系统运维人员必须掌握的…

学习Rust的第29天: cat in Rust

今天即将是这个系列的最后一次内容,我们正在catRust 中从 GNU 核心实用程序进行重建。cat用于将文件内容打印到STDOUT.听起来很容易构建,所以让我们开始吧。 GitHub 存储库:GitHub - shafinmurani/gnu-core-utils-rust 伪代码 function read(…

省公派出国|社科类普通高校教师限期内赴英国访学交流

在国外访问学者申请中,人文社科类相对难度更大,尤其是英语语言学,作为非母语研究并不被国外高校看重。经过努力,最终我们帮助Z老师申请到英国坎特伯雷基督教会大学的访学职位,并在限期内出国。 Z老师背景: …

TypeScript学习日志-第二十天(模块解析)

模块解析 一、ES6之前的模块规范 前端模块化规范是有很多的,在es6模块化规范之前分别有一下的模块化规范 一、Commonjs 这是 NodeJs 里面的模块化规范 // 导入 require("xxx"); require("../xxx.js"); // 导出 exports.xxxxxx function() …

Java 【数据结构】常见排序算法实用详解(上) 插入排序/希尔排序/选择排序/堆排序【贤者的庇护】

登神长阶 上古神器-常见排序算法 插入排序/选择排序/堆排序 📔 一.排序算法 📕1.排序的概念 排序 :所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性&a…

数据结构===树

文章目录 概要概念相关概念 有哪些常用的树小结 概要 树是一种新的数据结构,不同于数组,链表。就像大自然中的树,看下这个数据结构,很有意思,有一个主干,然后还有很多树叉,即支干。不错&#xf…

微信视频号如何变现呢,视频号涨粉最快方法

今天给大家带来的是视频号分成计划 视频号流量主这个项目,可以说这是目前的一个蓝海赛道,做的人也少,外面开的培训也很少,作为副业还是比较适合个人的,如果想批量操作这个项目,也比较适合工作室的。而且这…

51-48 CVPR 2024 | Vlogger: make your dream a vlog 自编剧制作视频博客

24年1月,上海交大、上海人工智能实验室、中科院联合发布Vlogger:make your dream a vlog。该论文主要工作是生成超过5分钟的视频博客vlog。鉴于现有文本到视频T2V生成方法很难处理复杂的故事情节和多样化的场景,本文提出了一个名为Vlogger的通…

Ansible的安装与基础命令的使用

Ansible Ansible 是一个开源的自动化工具,用于配置管理、应用部署和任务自动化。它由 Michael DeHaan 于 2012 年创建,后来被 Red Hat 收购。Ansible 的设计理念是简单易用,不需要在受管节点上安装任何代理软件,它通过 SSH&#…

WINDOWS配置IIS

1.安装IIS 1.1.打开启用Windows功能 打开“控制面板” > “程序和功能” > “启用或关闭 Windows 功能”。 1.2.启用IIS功能 打开“控制面板” > “程序和功能” > “启用或关闭 Windows 功能”。 勾选“Internet Information Services”,然后点击“确定…

vs配置cplex12.10

1.创建c空项目 2.修改运行环境 为release以及x64 3.创建cpp文件 4.鼠标右键点击项目中的属性 5.点击c/c,点击第一项常规,配置附加库目录 5.添加文件索引,主要用于把路径导进来 6.这一步要添加的目录与你安装的cplex的目录有关系 F:\program…

NFS共享存储服务配置实践

一、NFS 1.NFS定义 NFS(Network File System)网络文件服务:基于TCP/IP传输的网络文件系统协议,NFS服务的实现依赖于RPC(Remote Process Call)远端过程调用:通过使用NFS协议,客户机…

机器学习——3.梯度计算与梯度下降

基本概念 梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模&#xff0…

Vue、React实现excel导出功能(三种实现方式保姆级讲解)

第一种:后端返回文件流,前端转换并导出(常用,通常公司都是用这种方式) 第二种:纯后端导出(需要了解) 第三种:纯前端导出(不建议使用,数据处理放…

【CTF MISC】XCTF GFSJ0512 give_you_flag Writeup(图像处理+QR Code识别)

give_you_flag 菜狗找到了文件中的彩蛋很开心,给菜猫发了个表情包 解法 图片的最后一帧好像闪过了什么东西。 用 Photoshop 打开,检查时间轴。 找到一张二维码,但是缺了三个角(定位图案),无法识别。 找一…