这是我参与「第五届青训营 」笔记创作活动的第十七天
认识存储的本质
一、存储系统
特点
- 性能敏感
- 同意受硬件影响
- 代码既“简单”又“复杂”
1、缓存很重要,贯穿整个存储体系
2、拷贝很昂贵、应该尽量减少
3、硬件设备五花八门,需要有抽象统一的接口层
RAID技术
- 单块大容量磁盘的价格 >多块小容量磁盘
- 单块磁盘的写入性能< 多块盘的并发写入性能
- 单块磁盘的容错能力有限,不够安全
二、数据库
SQL是方便人类阅读的关系代数表达式
关系型数据库
特点 关系型数据库是存储系统,但是在存储之外,又展现出其他能力。
- 结构化数据优化
- 支持事务
- 支持复杂查询语言
非关系型数据库
不要求严格结构化
- 可能支持事务
- 可能支持复杂查询语言
三、主流存储产品
单机存储
1、本机存储系统
LINUX:一切皆文件
两大数据结构:Index Node,Directory Entry。
2、key-value存储
分布式存储系统
在单机存储基础上实现了分布式协议,涉及大量网络交互
1、HDFS
- 支持海量数据存储
- 高容错性
- 弱POSIX语义
- 使用普通
- x86服务器,性价比高
2、Ceph
开源分布式系统里的万金油
特点:
- 一套系统支持对象接口、块接口、文件接口但是一切皆对象
- 数据写入采用主备复制模型
- 数据分布模型采用CRUSH算法
单机数据库
事务在单机内执行,也可能通过网络交互实现分布式事务
1、关系型数据库
- 商业产品
- Oracle
- 开源产品
- Mysql
- PostgreSQL
2、非关系型数据库
- Mongodb
- redis
- Elasticsearch
分布式数据库
1、解决容量问题
2、解决弹性问题
3、解决性价比问题
四、新技术
1、软件架构
2、AI增强
3、新硬件革命
- 存储介质变更
- 计算单元变更
- 网络硬件变更
高性能硬件
- RDMA网络
- Persistent Memory
- 可编程交换机
- CPU/GPU/DPU