认识存储&数据库

120 阅读3分钟

day08 认识存储&数据库

1 经典案例

数据流动:前端--后端服务器--数据库--其他系统

数据的持久化:检验数据合法性--修改内存(用高效数据结构组织数据)--写入存储硬件

2 存储&数据库简介

存储系统:提供读写、控制接口,安全有效实现数据持久化

RAID技术:

“独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。利用虚拟化存储技术把多个硬盘组合起来,成为一个或多个硬盘阵列组,目的为提升性能或数据冗余,或是两者同时提升。

“RAID 0是连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但是它没有数据冗余(即备份功能)

RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据

RAID 0不能应用于数据安全性要求高的场合

“RAID 1的工作模式是同时在两块磁盘中分别写入完整的数据,使磁盘具有冗余功能,但是写入的性能就会有所下降。

资料来源:什么是RAID? - 掘金 (juejin.cn)

3 主流产品剖析

3.1 单机存储

本地文件系统、key-value存储(牺牲一定读性能、写入友好)

3.2 分布式存储

什么是分布式存储?

传统的网络存储系统是采用集中的存储服务器存放所有数据。随着数据的增加,系统可靠性与安全性的弊端日趋显现,无法满足大规模的存储应用需要。

分布式存储系统是将数据分散存储在多台独立的设备上。采用可扩展的系统结构,利用多台存储服务器分担存储负荷、定位存储信息,不但提高了系统的可靠性可用性存取效率,还易于扩展。

作者:新爷话数据 链接:juejin.cn/post/709562… 来源:稀土掘金

3.3 单机数据库 关系型数据库

3.4 单机数据库 非关系型数据库

3.5 分布式数据库

4 新技术演进

软件架构变更、AI增强、新硬件革命

day04 HTTP框架修炼之道

1 走进HTTP协议

已知知识,不再赘述。

2 HTTP框架的设计与实现

2.1 分层设计

2.2 应用层设计

提供合理的API

2.3 中间件设计

中间件需求:1)配合handler实现一个完整的请求处理生命周期;2)拥有预处理和后处理逻辑;3)可以注册多中间件;4)对上层模块用户逻辑模块易用

2.4 路由设计

前缀匹配树

2.5 协议层设计

2.6 网络层设计

bio:读--处理--写 弊端:可能会卡在某一步等待

nio:与bio相比,注册了一个监听器