认识存储的本质 | 青训营笔记

82 阅读2分钟

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

认识存储的本质

一、存储系统

特点

  • 性能敏感
  • 同意受硬件影响
  • 代码既“简单”又“复杂”

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

image.png

分布式数据库

1、解决容量问题
2、解决弹性问题
3、解决性价比问题

四、新技术

1、软件架构
2、AI增强
3、新硬件革命

  • 存储介质变更
  • 计算单元变更
  • 网络硬件变更

高性能硬件

  • RDMA网络
  • Persistent Memory
  • 可编程交换机
  • CPU/GPU/DPU