什么是存储系统 ?
一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件,就可以称为存储系统
特点:
- 作为后端软件的底座,性能敏感
- 存储系统软件架构,容易受硬件影响
- 存储系统代码,既“简单”又“复杂”
存储器层级结构金字塔
读取速度快慢和容量大小相反
数据怎么从应用到存储介质
- [缓存]很重要,贯穿整个存储体系
- [拷贝] 很昂贵,应该尽量减少(cpu)
- 硬件设备五花八门,需要有抽象统一的接入层(软硬件适配)
RAID技术(多块廉价磁盘)
单机存储系统怎么做到高性能 / 高性价比 /高可靠性 ?
A : R(edundant) A(rray) of I(nexpensive) D(isks)
RAID出现的背景:
CPU和内存的作用固然重要,但数据存储设备性能的好坏和速度的快慢直接影响到整个系统的表现
1.单块大容量磁盘的价格 >多块小容量磁盘
2.单块磁盘的写入性能< 多块磁盘的并发写入性能
- 单块磁盘的容错能力有限,不够安全
RAID等级分类(没有任何一种RAID级别可以完美的适合任何用户)
RAID O
- 多块磁盘简单组合。极高的磁盘读写效率
- 数据条带化存储,提高磁盘带宽。不存在校验,不会占用太多CPU资源设计、使用和配置比较简单
- 没有额外的容错设计。无冗余,不能用于对数据安全性要求高的环境
RAID 1
- 一块磁盘对应一块额外镜像盘。提供最高的数据安全保障,设计和使用比较简单,理论上可以实现2倍的读取效率
- 真实空间利用率仅50%
- 容错能力强
RAID0+1
- 结合了RAID O 和RAID 1。读性能很高写性能比较好数据安全性好,允许同时有N个磁盘失效,速度快
- 真实空间利用率仅50%。成本高
- 容错能力强,写入带宽好
什么是数据库?
关系型数据库
存储系统,但是在存储之外,又发展出其他能力,是现在应用最广泛的数据库。
- 结构化数据友好
- 支持事务(ACID)
- 支持复杂查询语言
非关系型数据库
存储系统,但是一 般不要求严格的结构化
- 半结构化数据友好
- 可能支持事务(ACID)
- 可能支持复杂查询语言
数据库vs经典存储
结构化数据管理
事务能力
复杂查询能力