这是我参与「第五届青训营 」伴学笔记创作活动的第 14 天
概念
存储系统
一个提供了读写、控制类接口,能够安全、有效地把数据持久化的软件
存储系统特点
- 性能敏感
- 存储系统代码,既简单又复杂
- 软件架构容易受硬件影响
RAID
背景
- 高性能
- 高性价比
- 高可靠性
RAID0
- 多块磁盘简单组合
- 数据条带化存储,提高磁盘带宽
- 没有额外的容错设计
RAID1
- 一块磁盘对应一块额外镜像盘
- 真实空间利用率50%
- 容错能力强
RAID0+1
- 结合0和1
- 真实空间利用率50%
- 容错能力强、写入带宽好
关系
- 关系=集合=任意元素组成的若干有序偶对,反应了事物间的关系
- 关系代数=对关系作运算的抽象查询语言
- SQL=一种DSL=方便人类阅读的关系代数表达形式
非关系型数据库
一般不要求严格的结构化,一般不支持事务
主流存储系统
单机存储
本地文件存储
Linux
- Index Node:总数在格式化文件系统时就固定了,一个文件的唯一标识
- Directory Entry:记录文件名、inode指针、层级关系等,和inode关系n:1
KV存储
常见数据结构:LSM-Tree,某种程度上牺牲读写性能、追求写入性能
分布式存储系统
HDFS,分布式文件系统
- 支持海量数据存储
- 高容错性
- 弱POSIX语义
- 性价比高
Ceph
- 一切皆对象
- 数据写入采用主备复制模型
- 数据分布模型采用CRUSH算法
单机数据库
单个计算机节点上的数据库
关系型数据库
- mysql
- oracle
非关系型数据库
- MongoDB:面向文档存储
- Redis:数据结构丰富
缺点
- 容量:池化
- 弹性:池化
- 性价比:池化
单写、多写;磁盘弹性到内存弹性;分布式事务优化
新技术
- SPDK
- AI+Storage