这是我参与「第五届青训营 」伴学笔记创作活动的第 14 天
经典案例
通过一个模拟案例,描述了数据是怎么产生,在后端系统里怎么流通,最后怎么写入到存储/数据库系统。
数据的流动:
- 一条用户注册数据
{
"username": "小明",
"password": "helloworld"
}
复制代码
- 后端服务器
- 数据库
- 其它系统
数据的持久化:
- 校验数据的合法性
- 修改内存
- 写入存储介质
存储 & 数据库简介
-
存储系统概览:一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件
- 存储系统特点:性能敏感、容易受硬件影响
- 存储器层级结构:位于持久性存储
- 单机存储栈:从应用到介质——缓存、系统调用、内核缓存、内核写入磁盘
- RAID技术:冗余磁盘阵列
-
数据库系统概览
-
关系型数据库特点
- 结构化数据友好、支持事务、支持复杂查询语言
-
非关系型数据库特点
- 半结构化数据友好、可能支持事务、可能支持复杂查询语言
-
数据库 vs 经典存储
-
数据库使用方式
-
主流产品剖析
-
单机存储产品
- 单机文件系统:单个计算机上存储、一般不涉及网络交互
- 单机key-value存储:一切皆kv
-
分布式存储产品
-
HDFS:大数据时代的基石
- 海量数据存储
- 高容错性
- 弱POSIX语义
- 普通x86服务器,性价比高
-
Ceph
- 一切皆对象
- 主备复制模型
- CRUSH算法
-
-
单机数据库产品
-
关系型数据库 —— PG、MySQL
- MySQL:Query Engine、Txn Manager、Lock Manager、Storage Engine、Replication
- 关键内存数据结构:B-Tree、B^+^-Tree
- 关键磁盘数据结构:WriteAheadLog、Page
-
非关系型数据库 —— ES、MongoDB、Redis
-
Elasticsearch使用案例
-
-
分布式数据库产品
- 问题与挑战
- 解决方案
新技术演进
- SPDK
- 人工智能
- 新硬件加速