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

news2024/9/23 20:48:42

文章目录

  • 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.coloradmin.cn/o/1645127.html

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

相关文章

河南大学大礼堂火灾事故引发安防监控对智能分析技术应用的思考

一、方案背景 2024年5月2日,在修缮施工期间的河南大学河南留学欧美预备学校旧址大礼堂发生火情。现场航拍画面显示,大礼堂经过火灾,房顶已经基本坍塌,被火烧过的建筑呈焦黑状。 公开资料显示,大礼堂属河南留学欧美预…

小程序激励广告视频多次回调问题

1.问题 2. 激励视频使用及解决方案 官方文档 let videoAd null; // 在页面中定义激励视频广告 Page({/*** 页面的初始数据*/data: {},/*** 生命周期函数--监听页面加载*/onLoad(options) {let that this;// 创建激励视频广告实例if (wx.createRewardedVideoAd) {videoAd w…

Docker镜像仓库-在私有镜像仓库推送或拉取镜像

推送镜像到私有仓库,要先让镜像打包 前缀为私有仓库地址的名字: 这里也是打包成功了:docker images 可以查看到 push推送镜像到镜像仓库: docker push 192.168.221.129:8080/nginx:1.0推送成功后在主机访问镜像仓库可以看到 这里已经有个镜像了。而且可…

从线索到成交:HubSpot全渠道销售流程的精准打磨

在当今数字化时代,企业面临着越来越复杂的市场环境和激烈的竞争压力。在这样的背景下,如何利用科技手段提升营销和销售效率,拓展客户获客渠道,成为了企业发展的关键之道。作为HubSpot合作伙伴,我们深谙全渠道营销与销售…

屏幕距离识别加语音提醒

效果 QQ录屏20240406131651 语音播放 import pygame pygame.mixer.init() #初始化 pygame.mixer.music.load(r"7359.wav") #文件位置 pygame.mixer.music.play(1) #播放语音 while pygame.mixer.music.get_busy(): # 在音频播放为完成之前不退出程序pass 完…

im即时通讯源码/仿微信app源码+php即时通讯源码带红包+客服+禁言等系统php+uniapp开发

即时通讯(IM)系统是现代互联网应用中不可或缺的一部分,它允许用户进行实时的文本、语音、视频交流。随着技术的发展,IM系统的功能越来越丰富,如红包、客服、禁言等。本文将探讨如何使用PHP语言开发一个功能完备的即时通讯系统,包括…

git commit 提交报错pre-commit hook failed (add --no-verify to bypass) 解决方法,亲测有效

问题截图 今天在执行 git commit 命令时报错:pre-commit hook failed (add --no-verify to bypass) 解决 参考文章:git commit报错:pre-commit hook failed的解决方法 具体原理什么的就不解释了,可以看看上面的参考文章 解决方…

《Fundamentals of Power Electronics》——脉宽调制器建模

下图给出了一个简单脉宽调制器电路的原理图。 脉宽调制器电路产生一个用于指令转换器功率管导通和关断的逻辑信号δ(t)。该逻辑信号δ(t)是周期性的,其频率为fs,占空比为d(t)。脉宽调制器的输入是一个模拟控制信号vc(t)。脉宽调制器的作用是产生一个与模…

开源!自制一个桌面宠物(STM32CUBEMX HAL库 PWM波 小项目)

原视频:好,自制一个桌面宠物!_哔哩哔哩_bilibili 基础所需:基础电路认识,C语言,STM32开发,STM32CUBEIDE或CUBEMX和Keil使用(重要),一点点艺术细胞、一点点耐…

前端之深拷贝

前提: 就是在实际开发中,我有一个编辑的弹窗,可以查看和编辑,因为弹窗里面是一个步骤条,点击下一步就要向对应的接口发送请求,考虑到就比如我点击下一步,此次表箱信息其实不需要修改&#xff0…

Linux —— 信号(2)

Linux —— 信号(2) 信号的序号kill系统调用不可被自定义的信号raiseabort 异常传递信号SIGFPESIGSEGV alarm传递信号 我们今天来接着了解信号: 信号的序号 我们来看看信号的序号: 信号的序号是从1开始,到31我们称这…

为什么要梯度累积

文章目录 梯度累积什么是梯度累积如何理解理解梯度累积梯度累积的工作原理 梯度累积的数学原理梯度累积过程如何实现梯度累积 梯度累积的可视化 梯度累积 什么是梯度累积 随着深度学习模型变得越来越复杂,模型的训练通常需要更多的计算资源,特别是在训…

【热门话题】ElementUI 快速入门指南

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 ElementUI 快速入门指南环境准备安装 ElementUI创建 Vue 项目安装 ElementUI 基…

Android selinux权限

一.SE 概述 SELinux 是由美国NSA(国安局)和 SCC 开发的 Linux的一个扩张强制访问控制安全模块。原先是在Fluke上开发的,2000年以 GNU GPL 发布。从 fedora core 2开始, 2.6内核的版本都支持SELinux。 在 SELinux 出现之前&#…

开源模型应用落地-CodeQwen模型小试-小试牛刀(一)

一、前言 代码专家模型是基于人工智能的先进技术,它能够自动分析和理解大量的代码库,并从中学习常见的编码模式和最佳实践。这种模型可以提供准确而高效的代码建议,帮助开发人员在编写代码时避免常见的错误和陷阱。 通过学习代码专家模型&…

百度语音识别开发笔记

目录 简述 开发环境 1、按照官方文档步骤开通短语音识别-普通话 2、创建应用 3、下载SDK 4、SDK集成 5、相关接口简单说明 5.1权限和key 5.2初始化 5.3注册回调消息 5.4开始转换 5.5停止转换 6、问题 简述 最近想做一些语音识别的应用,对比了几个大厂…

电路笔记 :芯片封装、电阻电容封装类型介绍

芯片的零件型号、位号和封装 项目定义作用零件型号每个零件在设计和制造中的唯一标识符号用于识别零件的特定规格、制造商和其他重要信息位号在电路图或设计图纸上标识每个零件位置的符号帮助准确定位每个零件的位置,以便正确安装到相应位置上封装电子元器件的外部…

AXS2005 2.4W单通道AB类音频功率放大器 兼容HAA8002,LTK8002,NS8002

深圳市润泽芯电子有限公司为爱协生一级代理 技术支持 欢迎试样~Tel:18028786817 AXS2005是爱协生推出的2.4W单通道AB类音频功率放大器 可兼容HAA8002,LTK8002,NS8002,XS8002,XA8002,8002B。 简介 AXS2005…

网络基础(1)网络编程套接字TCP,守护进程化

TCP协议 下面我们来学习一下TCP套接字的使用。 也就是使用一下基本的接口。首先TCP套接字的使用和UDP套接字的使用是大同小异的,但是多了一些步骤。 这里回顾一下:UDP是不可靠的,无连接的协议。而TCP则是可靠的,面向连接的协议…

LNMP部署wordpress

1.环境准备 总体架构介绍 序号类型名称外网地址内网地址软件02负载均衡服务器lb0110.0.0.5192.168.88.5nginx keepalived03负载均衡服务器lb0210.0.0.6192.168.88.6nginx keepalived04web服务器web0110.0.0.7192.168.88.7nginx05web服务器web0210.0.0.8192.168.88.8nginx06we…