这是我参与「第五届青训营」伴学笔记创作活动的第 13 天
储存
简介
- 什么是储存
一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件,就可以称为存储系统
特点
- 作为后端软件的底座,性能敏感
- 存储系统软件架构,容易受硬件影响
- 存储系统代码,既“简单”又“复杂”
RAID
- 背景
- 单块大安量磁盘的价格> 多块小量城点
- 单块盘的写入性能< 多块盘的并发写入性能
- 单缺磁盘的赛辑能力有限,不够安全
- RAID O
- 多坎盘简单组合
- 数据条带化存恼,提高难盘带宽
- 没有额外的容推设计
- RAID 1
- 一块碰盘对应一块额外镀像盘
- 真实空间利用率仅50%
- 容描能力强
- RAID0+1
- 结合了RAD0和 RAD1
- 真实空间利用率仅50%
- 容能力强,写入带直好
flag
- 文件处理参数:
- O_RDONLY:只读模式打开文件;
- O_WRONLY:只写模式打开文件;
- O_RDWR:读写模式打开文件;
- O_APPEND:写操作时将数据附加到文件尾部(追加);
- O_CREATE:如果不存在将创建一个新文件;
- O_EXCL:和 O_CREATE 配合使用,文件必须不存在,否则返回一个错误;
- O_SYNC:当进行一系列写操作时,每次都要等待上次的 I/O 操作完成再进行;
- O_TRUNC:如果可能,在打开时清空文件。
对象储存
对象存储优缺点
优点:
- 可扩展性高:对象存储能够扩展数十乃至数百EB的容量,能够充分利用高密度存储;
- 效率高:扁平化结构,不受复杂目录系统对性能的影响;
- 无需迁移:对象存储是一种横向扩展系统,随着容量的增加,数据根据算法自动分布于所有的对象存储节点;
- 安全性高:对象存储通常凭借HTTP调用对象存储本身提供的认证密钥来提供数据访问;访问方便:不光支持HTTP(S)协议,采用REST的API方式调用和检索数据,同样增加了NFS和SMB支持;成本相对低:与块存储方式相比,对象存储是最具成本效益的数据存储类型,并且与云计算搭配,把对象存储的这一特性发挥的淋漓尽致。
缺点:
- 最终一致性:由于不同节点的位置不同,数据同步时可能会有一定时间的延迟或者错误;
- 不易做数据库:对象存储比较适合存储那些变动不大甚至不变的文件,而对于像数据库这种需要直接与存储裸盘相互映射的应用,还是块存储更合适。