认识存储&数据库 | 青训营笔记

48 阅读2分钟

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

一、案例

数据的产生

用户新下载一个APP进行账号注册,用户所填入的有关账号的信息就形成了数据。

数据的流动

用户的数据在后端服务器、数据库和其他系统的传输过程称为数据流动。

数据的持久化

数据的持久化分为三步:校验数据的合法性、修改内存、写入存储介质。

潜在问题

(1)如何保证数据不丢失?

(2)多人同时修改时如何并发处理?

(3)是否能存储到其他存储系统?

(4)是否只能处理结构化数据?

(5)操作数据库的方式?

二、数据库

存储系统

概念:一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件

特点:性能敏感、易受硬件影响、代码简单又复杂

RAID技术 R(edundant) A(rray) of l(nexpensive) D(isks)

背景:

单块大容量磁盘的价格 > 多块小容量磁盘

单块磁盘的写入性能 < 多块磁盘的并发写入性能

单块磁盘的容错能力有限,不够安全

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

RAID 1:一块磁盘对应一块额外镜像盘,真实空间利用率仅50%,容错能力强

RAID 0+1:结合了RAID 0和RAID 1,真实空间利用率仅50%,容错能力强,写入带宽好

数据库

关系型数据库

关系型数据库是存储系统,但是在存储之外,又发展出其他能力:结构化数据友好、支持事务(ACID)、支持复杂查询语言

非关系型数据库

非关系型数据库也是存储系统,但是一般不要求严格的结构化:半结构化数据友好、可能支持事务(ACID)、可能支持复杂查询语言