这是我参与「第五届青训营 」伴学笔记创作活动的第 15 天
一条数据的生命周期
1. 数据从用户输入时产生
{
"user_name" : "Alex",
"password" : "helloworld",
......
}
2. 数据在服务器和数据库包括其他系统间流动
数据流动到后端服务器进行加工处理和修饰,并打包发送给数据库
3. 在内存中进行数据的持久化
校验数据的合法性 ———> 修改内存(用高效数据结构组织数据)———> 写入存储介质(以性能友好地方式写入硬件)
存储系统
什么是存储系统?
即一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件,就可以称为存储系统
系统特点
- 作为后端软件的底座,性能敏感
- 存储系统软件架构,容易受硬件影响,需要和硬件一起变革
- 存储系统代码,既“简单”又“复杂”,即在异常处理上尽可能处理任何可能发生的情况
RAID技术
R(edundant)A(rray)I(nexpensive)D(isks)(一种经典的存储技术)
RAID的出现背景
- 单块大容量磁盘
价格远高于多块小容量磁盘 - 单块磁盘的写入
性能远小于多块磁盘的并发写入性能 - 单块磁盘的
容错率有限,不够安全
1. RAID 0
- 多块磁盘简单组合
- 数据条带化存储,提高磁盘带宽
- 没有额外的容错设计
2. RAID 1
- 一块磁盘对应一块额外镜像
- 真实空间利用率仅50%
- 容错能力强
3. RAID 0+1
- 两种RAID综合使用
- 综合高带宽和高容错
- 空间利用率依然只有50%
数据库
关系型数据库
「关系模型」
关系=集合=任意元素组成的若干有序偶对,反映了事物间的关系
「关系代数」
关系代数=对关系作运算的抽象查询语言(SQL)
关系型数据库优点
- 结构化数据友好
- 支持事物
- 支持复杂查询语言
非关系型数据库优点
- 半结构化数据友好
- 可能支持事物
- 可能支持复杂查询语言
忙着写抖音,没时间记笔记了