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

170 阅读2分钟

什么是存储系统?

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

特点:1.作为后端软件的底座,性能极其敏感。

2.存储系统代码,既简单又复杂。对性能要求高,在I/O路径下一定不能太复杂,也不能太多分支,考虑多种异常情况,假设硬件会坏等。

3.存储系统软件架构,容易受硬件影响。跟硬件打交道,磁盘等硬件设备,硬件发生变革时软件要顺应硬件的变革进行变革,甚至软件推倒重来。

底部存储设备读取非常慢

Persistent Memory 兼顾存储和性能的存储器

缓存很重要,贯穿整个存储体系。拷贝很昂贵,应该尽量减少。硬件设备五花八门,需要有抽象统一的接入层

数据拷贝某种程度上会消耗CPU的功率,所以在关键路径上尽量减少拷贝

RAID存储技术 RAID 0 多块磁盘简单组合、数据条带化存储,提高磁盘带宽、没有额外的容错设计 写入性能极高

RAID 1 一块磁盘对应一块额外镜像盘、真实空间利用率仅50%、容错能力强 没有性能方面的考虑

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

关系型数据库 非关系型数据库

关系是什么?关系=集合=任意元素组成的若干有序偶对 关系代数=对关系做运算的抽象查询语言 SQL=一种DSL=方便人类阅读的关系代数表达形式

关系型数据库是存储系统

非关系型数据库也是存储系统,但是一般不要求严格的结构化

关系数据库和非关系数据库区别:1、数据一致性不同;2、数据存储方式不同;3、扩展方式不同;4、对事务性的支持不同。其中,数据一致性不同是指非关系型数据库一般强调的是数据最终一致性,而没有像ACID一样强调数据的强一致性。