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

22 阅读2分钟

经典案例

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

用户在手机上操作,产生了一条结构化的用户注册数据->数据流进入后端服务器->数据存储于数据库->进入其他的存储系统或者非存储系统

第一步必然是校验数据的合法性,第二步是在内存中用高效的数据组织数据,第三步是以寿命、硬件性能友好的方式存储进数据库

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

存储与数据库简介

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

存储系统的特点:作为后端软件的底座,性能十分敏感;存储系统代码,既简单(使用接口简单)又复杂(IO路径、异常处理情况);软件架构容易受硬件影响,软件要顺应硬件结构进行革新

存储器层级结构:金字塔型,塔尖性能高、存储容量少,塔底读写性能差、存储量大、访问不友好(磁带),中间层兼顾性能以及存储容量(Persisent Memory)

数据怎么从应用到存储介质:缓存很重要,贯穿整个存储体系,拷贝很昂贵,应该尽量减少,硬件设备五花八门,需要有统一抽象的接入层

RAID技术

RAID出现背景:单块大容量磁盘价格>多块小容量磁盘,单块磁盘的写入性能<多块磁盘的并发写入性能,单块磁盘容错能力有限,不够安全

RAID0:多块磁盘组合,数据条带化存储,提高磁盘带宽,没有额外的容错设计

RAID1:一块磁盘对应一块额外镜像盘,真实空间利用率仅50%,有容错设计