储存 | 青训营笔记

137 阅读2分钟

这是我参与「第五届青训营」伴学笔记创作活动的第 13 天

储存

简介

  • 什么是储存

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

特点

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

RAID

  1. 背景
  • 单块大安量磁盘的价格> 多块小量城点
  • 单块盘的写入性能< 多块盘的并发写入性能
  • 单缺磁盘的赛辑能力有限,不够安全
  1. RAID O
  • 多坎盘简单组合
  • 数据条带化存恼,提高难盘带宽
  • 没有额外的容推设计
  1. RAID 1
  • 一块碰盘对应一块额外镀像盘
  • 真实空间利用率仅50%
  • 容描能力强
  1. RAID0+1
  • 结合了RAD0和 RAD1
  • 真实空间利用率仅50%
  • 容能力强,写入带直好

flag

  1. 文件处理参数:
  • 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支持;成本相对低:与块存储方式相比,对象存储是最具成本效益的数据存储类型,并且与云计算搭配,把对象存储的这一特性发挥的淋漓尽致。

缺点:

  • 最终一致性:由于不同节点的位置不同,数据同步时可能会有一定时间的延迟或者错误;
  • 不易做数据库:对象存储比较适合存储那些变动不大甚至不变的文件,而对于像数据库这种需要直接与存储裸盘相互映射的应用,还是块存储更合适。