这是我参与「第五届青训营 」伴学笔记创作活动的第 16 天
带你认识存储的本质 - 状态
经典案例-存在的问题
- 数据库怎么保证数据不丢?
- 数据库怎么处理多人同时修改的问题?
- 为什么用数据库,除了数据库还能存到别的存储系统嘛?
- 数据库只能处理结构化数据嘛?
- 有哪些操作数据库的方式,要用什么编程语言?
存储 & 数据库简介
什么是存储系统,什么是数据库系统?
存储系统
存储系统-系统概览
什么是存储系统?
一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件,就可以称为存储系统
存储系统-系统特点
存储系统-存储器层级结构
存储系统-数据怎么从应用到存储介质
- 缓存:很重要,贯穿整个存储体系
- 拷贝:很昂贵,应该尽量减少
- 硬件设备五花八门,需要有抽象统一的接入层
存储系统-RAID技术
数据库
- 关系型数据库
- 非关系型数据库
数据库-概览
数据库-关系型数据库特点
关系型数据是存储系统,但是在存储之外,又发展出其他能力
- 结构化数据友好
- 支持事务(ACID)
- 支持复杂查询语言
数据库-非关系型数据库特点
非关系型数据库也是存储系统,但是一般不要求严格的结构化
- 半结构化数据友好
- 可能支持事务(ACID)
- 可能支持复杂查询语言
数据库 vs 经典存储-结构化数据管理
数据库 vs 经典存储-事务能力
凸显出数据库支持事务的优越性
事务具有:
- A(tomicity):事务内的操作要么全做,要么不做
- C(onsistency):事务执行前后,数据状态是一致的
- I(solation):可以隔离多个并发事务,避免影响
- D(urability):事务一旦提交成功,数据保证持久性
数据库 vs 经典存储-复杂查询能力
数据库使用方式
主流产品剖析
单机存储
单机存储-概览
单机存储 = 单个计算机节点上的存储软件系统,一般不涉及网络交互
- 本地文件系统
- key-value存储
单机存储-本地文件系统
单机存储-key-value存储
分布式存储
分布式存储-概览
分布式存储 = 在单机存储基础上实现了分布式协议,涉及大量网络交互
- 分布式文件系统
- 分布式对象存储
分布式存储-HDFS
分布式存储-Ceph
单机型数据库
单机型数据库-概览
单机数据库 = 单个计算机节点上的数据库系统
事务在单机内执行,也可能通过网络交互实现分布式事务
- 关系型数据库
- 非关系型数据库
单机数据库-关系型数据库
单机数据库-非关系型数据库
单机数据库-Elasticsearch使用案例
分布式数据库
单机数据库遇到了哪些问题&挑战,需要我们引入分布式架构来解决?
- 容量
- 弹性
- 性价比
分布式数据库-解决容量问题
分布式数据库-解决弹性问题
分布式数据库-解决性价比问题
分布式数据库-More to Do
- 单写 vs 多写
- 从磁盘弹性到内存弹性
- 分布式事务优化