存储系统|青训营

136 阅读1分钟

存储系统:

一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件,就可以成为存储系统

要素:用户user 存储medium 内存memory 网络network

三个特点:

  • 作为后端软件的底座,性能敏感
  • 存储系统软件架构,容易受硬件影响——硬件发生变革,软件
  • 存储系统代码,既“简单”又”复杂“

软件实现cache,帮助我们用硬件友好的方式与硬件打交道;软件分层,不同层级之间的软件,访问力度也是不同的。

存储系统数据写入读取链路特点

  • buffer,cache在跨软件层的地方,以软件层或硬件层友好的方式对其他层级的软件和硬件进行交互。
  • 拷贝非常昂贵:拷贝消耗CPU
  • 硬件设备五花八门的时代,需要有抽象统一的接入层

RAID(Redundant Array of Inexpensive Disks)技术使用

RAID出现的背景:

单块大容量磁盘的价格>多块小容量磁盘

单块磁盘的写入性能<多块磁盘的并发写入性能

单块磁盘的容错能力有限,不够安全

类型:

RAID 0

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

RAID 1

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

RAID 0+1

  • 结合了RAID 0和RAID 1
  • 真实空间利用率仅50%
  • 容错能力强,写入带宽好

数据库

关系=集合=任何元素组成的若干有序偶对 反应了事物之间的关系

  • 关系型数据库是存储系统,但在存储之外,又发展出其它能力:结构化数据友好,支持事务,支持复杂查询语言SQL
  • 非关系型数据库也是存储系统,但是一般不要求严格的结构化:半结构化数据友好,可能支持事务,可能支持复杂查询语言
事务具有

Atomicity,事务内的操作要么全做,要么不做

Consistency,事务执行前后,数据状态是一致的

Isolation,可以隔离多个并发事务,避免影响

Durability,事务一旦提交成功,数据保证持久性

数据库SQL支持

操作数据时:Insert,Update,Select,Delete,Where子句,GroupBy,OrderBy...

要对数据定义做修改时:Create user,Create database,Create table,Alter table...