存储&数据库 | 青训营

100 阅读3分钟

来自青训营的第一篇笔记,浅浅梳理了一下知识点

认识存储与数据库

如何校验数据的合法性?我们一般通过修改内存,再将数据写入存储介质。

存储系统:一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件,就可以成为存储系统。 存储系统代码,既“简单”又“复杂”。

存储系统--存储器层级结构

RAID技术 RAID技术出现的背景: 单块大容量磁盘的价格>多块小容量磁盘 单块磁盘的写入性能<多块磁盘的并发写入性能 单块磁盘的容错能力有限,不够安全

RAID(Redundant Array of Independent Disks)技术是一种将多块独立的硬盘组合起来,形成一个逻辑上的单元,从而提供更高的性能、容错能力和存储效率的技术方案。RAID技术的出现正是为了应对单块大容量磁盘价格较高、单块磁盘性能有限以及数据安全性的问题。

在RAID技术中,多块磁盘被组织成一个阵列(Array),并且可以根据不同的RAID级别(RAID levels)来配置,以满足不同的需求。以下是几种常见的RAID级别:

  1. RAID 0:条带化(Striping)

    • 数据被分成多个块,每个块被写入到不同的磁盘上。
    • 提高了读写性能,因为数据可以同时从多个磁盘中读取/写入。
    • 但是没有容错能力,如果一个磁盘损坏,整个数据阵列会受到影响。
  2. RAID 1:镜像化(Mirroring)

    • 数据同时写入两个磁盘,保证了数据的冗余性。
    • 数据读取可以从任意一个磁盘中进行,提高了读性能。
    • 具有良好的容错能力,一个磁盘损坏时,数据仍然可用。
  3. RAID 5:条带化带奇偶校验(Striping with Parity)

    • 数据和奇偶校验信息被条带化地写入磁盘,提高了性能。
    • 奇偶校验信息用于恢复数据,提供了一定的容错能力,可以容忍一块磁盘的损坏。
    • 读性能较好,写性能相对较低。
  4. RAID 6:类似于RAID 5,但具有更强的容错能力

    • 使用双奇偶校验信息,可以容忍两块磁盘的损坏。
    • 提供了更高的数据安全性,但相应地写性能也较低。
  5. RAID 10:组合了RAID 1和RAID 0

    • 将磁盘分成两组,每组内部进行镜像化,然后再对这两组进行条带化。
    • 提供了较高的性能和容错能力,但需要更多的磁盘资源。

不同的RAID级别在性能、容错能力和成本之间有不同的权衡。选择适合的RAID级别取决于应用的需求,例如需要更高的性能、更大的存储容量还是更强的容错能力。总之,RAID技术为数据存储系统提供了一种灵活且可靠的解决方案,通过合理配置RAID级别,可以满足多样化的存储需求。

数据库-概览 关系型数据库是存储系统,但是在存储之外,又发展出其他能力。 非关系型数据库也是存储系统,但是一般不要求严格的结构化。

主流存储产品剖析

单机存储:单个计算机节点上的存储软件系统,一般不涉及网络交互。 linux经典哲学:一切皆文件。 分布式存储:在单机存储基础上实现分布式协议,涉及大量网络交互。