这是我参与「第五届青训营」伴学笔记创作活动的第 13 天
本次课程内容:
- 课程案例
- 存储 & 数据库简介
- 主流产品剖析
- 新技术演进
经典案例
案例潜在问题:
- 数据库怎么保证数据不丢
- 数据库怎么处理多人同时修改的问题
- 为什么用数据库,除了数据库还能存到别的存储系统吗
- 数据库只能处理结构化数据吗
- 有哪些操作数据库的方式,要用什么编程语言
存储与数据库简介
一个提供了读写,控制类接口,能够安全有效的把数据持久化的软件,就可以成为存储系统。
- 存储系统概览
-
存储系统特点
-
- 性能敏感
-
- 既简单又复杂
-
- 容易受硬件影响
-
存储器层级结构
-
单机存储栈
-
RAID技术
-
- 单块大容量磁盘的价格>多块小容量的磁盘
-
- 单块磁盘的写入性能<多块磁盘的并发写入性能
-
- 单块磁盘的容错能力有限,不够安全
-
数据库系统概览
- 关系型数据库特点
- 结构化数据友好
- 支持事务
- 支持复杂查询语言
非关系型数据库特点
-
半结构化数据友好
-
可能支持事务
-
可能支持复杂查询语言
-
数据库 vs 经典存储
-
事务能力
-
复杂的查询能力
数据库使用方式
- 以SQL为例,要操作数据时候,支持以下操纵
- Insert
- update
- select
- delete
- where子句
- Groupby
- orderby
主流产品剖析
-
单机存储
-
分布式存储
-
单机关系型数据库
-
单机非关系型数据库
-
分布式数据库
-
单机存储产品
- 单机文件系统
- 单机key-value存储
-
分布式存储产品
- HDFS
- Ceph
-
单机数据库产品
- 关系型数据库 —— PG、MySQL
- 非关系型数据库 —— ES、MongoDB、Redis
- Elasticsearch使用案例
-
分布式数据库产品
- 问题与挑战
- 解决方案
新技术演进
-
SPDK
-
人工智能
-
新硬件加速