存储与数据库|青训营笔记

89 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第14天

认识存储与数据库

经典案例:

一条数据从产生,到数据流动,最后持久化的全生命周期

某天,小明同学下载了一个新的APP。因为第一次登陆,所以进入APP后需要注册一个新的账号

于是小明同学三下五除二地填好了资料,按下了「注册」按钮
就这样,数据就从无到有地产生了,并且在数十/数百毫秒内向APP的后端服务器飞奔而去

数据流动

image.png

数据的持久化

校验数据的合法性 ---------------->修改内存       ---------------------->写入存储介质
“小明是否已存在?           用高效的数据结构组织数据          以寿命&性能友好的方式入硬件

潜在问题

数据库怎么保证数据不丢?
数据库怎么处理多人同时修改的问题?
为什么用数据库,除了数据库还能存到别的存储系统吗?
数据库只能处理结构化数据吗?
有哪些操作数据库的方式,要用什么编程语言?

存储系统 -系统概览

Q : 什么是存储系统

A : 一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件,就可以称为存储系统

存储系统 -系统特点

作为后端软件的底座,性能敏感

存储系统软件架构,容易受硬件影响

存储系统代码,既“简单”又“复杂”

存储系统 -存储器层级结构

image.png

存储系统 -数据怎么从应用到存储介质

image.png

「缓存」很重要,贯穿整个存储体系

「转贝」很昂贵,应该尽量减少  

 硬件设备五花八门。需要有抽象统一的接入层
 
 
 

存储系统 RAID技术

Q:单机存储系统怎么做到高性能/高性价比/高可靠性?

A R(edundant)A(rray)of I(nexpensive)D(isks)

RAID出现的背景:

单块大容量藏盘的价情>多块小容量磁盘
单块磁盘的写入性能<多块磁盘的并发写入性能
单块德盘的容错能力有限,不够安全