存储与数据库的笔记 (一)

102 阅读3分钟

存储与数据库

1.数据库潜在的问题

  • 数据库怎么保证数据不丢
  • 数据库怎么处理多人同时修改的问题?
  • 为什么用数据库,除了数据库还能存储到别的存储系统吗?
  • 数据库只能处理结构化数据吗?
  • 有那些操作数据库的方式,要用什么编程语言?

2.存储系统

1.系统概览

一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件,就可以称为存储系统 (注意:此非标准解释)

2.系统特点:

作为后端软件的底座,性能敏感; 存储系统软件架构,容易受硬件影响; 存储系统代码,既“简单”又复杂“。(简单:代码结构相对简单,对比传统存储系统,进行数据读写操作只需要几行代码就可以实现。复杂:部分存储分支问题较为复杂。 )

3.存储器层级结构

image.png

存储器的缓存——主存层次和主存——辅存层次

image.png

  • 缓存与主存之间主要解决速度问题(cpu和主存速度的不匹配),因此通过硬件方法实现;
  • 主存与辅存之间主要解决容量问题,因此使用软硬件相结合的方法;
  • 缓存与主存使用的是主存储器的地址,也就是实地址(也叫物理地址);主存与辅存构成虚拟存储器,使用的是虚地址(也叫逻辑地址)。

4.数据从应用到存储介质

过程图: image.png

  • 缓存 很重要,贯穿整个存储体系,可以解决速度差的问题
  • 拷贝 很昂贵,需要消耗大量cup的资源,应该尽量减少
  • 硬件设备多种多样,需要设计抽象统一的接入层,增加适用性,如果只适用单一设备,一当更换设备,就要修改大量的地方,非常消耗时间与资源。

5.RAID技术

RAID为廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),
RAID技术将一个个单独的磁盘以不同的组合方式形成一个逻辑硬盘,
从而提高了磁盘读取的性能和数据的安全性。不同的组合方式用RAID级别来标识。
RAID技术是由美国加州大学伯克利分校D.A. Patterson教授在1988年提出的,
作为高性能、高可靠的存储技术,在今天已经得到了广泛的应用。

RAID 级别 不同RAID 级别代表着不同的存储性能、数据安全性和存储成本,RAID级别:0、1、2、3、4、5、6、01、10。

常见的:

RAID 0

  • 多块磁盘简单组合
  • 数据条带化存储,提高磁盘带宽
  • 没有额外的容错设计

DAID 1

  • 一块磁盘对应一块额外镜像盘
  • 真实空间利用率仅50%
  • 容错能力强

RAID 0 + 1

  • 结合了RAID 0 和 RAID 1

  • 真实空间利用率仅50%

  • 容错能力强,写入带宽好