这是我参与「第五届青训营」伴学笔记创作活动的第 15 天
一、本堂课重点内容
本节课程主要分为四个方面:
- 模拟案例
- 存储 & 数据库简介
- 主流产品剖析
- 新技术演进
二、详细知识点介绍
1 存储与数据库简介
- 存储系统概览
- 概念:提供读写、控制类接口,能够安全有效地把数据持久化的软件。
- 特点:性能敏感、容易受硬件影响、代码复杂。
- RAID技术
- RAID 0:多块磁盘简单组合,没有额外容错设计。
- RAID 1:一块磁盘对应一块额外镜像盘,容错能力强,但空间利用率低。
- 数据库系统概览
- 关系型数据库特点:结构化数据友好,支持事务,支持复杂查询语言。
- 非关系型数据库特点:半结构化数据友好,可能支持事务和复杂的查询语言。
- 数据库使用方式:SQL语言。
2 主流产品剖析
-
单机存储产品
-
本地文件系统:文件系统的管理单元为文件,需要提供接口。
-
Key-Value存储:如RocksDB。
-
-
分布式存储:在单机上实现了分布式协议,涉及大量网络交互。
- HDFS:支持海量数据存储,高容错性,弱POSIX语义,性价比高。
- Ceph:一切皆对象,数据写入采用主备复制模型,数据分布模型采用CRUSH算法。
-
单机数据库
-
概念:单个计算机结点上的数据库系统。事务在单机内执行,也可能通过网络交互实现分布式事务。
-
关系型数据库:Oracle、MySQL、PostgreSQL。
-
非关系型数据库:MongoDB、Redis、Elasticsearch。
-
-
分布式数据库
-
解决容量问题:存储节点池化、动态扩缩容。
-
解决弹性问题。
-
解决性价比问题
-
3 新技术演进
-
SPDK(Storage Performance Development Kit)
-
从内核空间到用户空间,避免系统调用带来的性能损耗。
-
从中断到轮询,提高性能。
-
使用无锁数据结构,降低并发时的性能开销。
-
-
人工智能
-
新硬件加速
- RDMA网络
- Persistent Memory
- 可编程交换机
- CPU/GPU/DPU