【如此简单!数据库入门系列】之可靠性支柱 -- 存储设备简介

本文介绍了数据库物理模式中的存储设备分类,包括主存储、辅助存储和三级存储,以及主存层次结构(CPU寄存器、高速缓存和主内存)。详细阐述了磁盘结构和RAID技术如何通过冗余和并行处理提高数据存储性能。
摘要由CSDN通过智能技术生成


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 系列文章


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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构师昌哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值