【15】存储 数据库 | 青训营笔记

84 阅读2分钟

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

存储&数据库简介

存储系统

系统概览

什么是存储系统?

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

系统特点

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

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

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

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

“缓存”很重要,贯穿整个存储体系。

“拷贝”很昂贵,应该尽量减少。

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

RAID技术

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

Redundant Array of Inexpensive Disks

RAID出现的背景:

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

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

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

RAID0

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

RAID1

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

RAID0+1

  • 结合了RAID0和RAID1。
  • 真实空间利用率仅50%。
  • 容错能力强。写入带宽好。

数据库

概览

关系(Relation)又是什么?

关系=集合=任意元素组成的若干有序偶对,反应了事物间的关系。

关系代数=对关系作运算的抽象查询语言,交、并、笛卡尔积……

SQL=一种DSL=方便人类阅读的关系代数表达形式。

关系型数据库特点

关系型数据库是存储系统,但是在存储之外,又发展出其他能力。

结构化数据友好,支持事务(ACID),支持复杂查询语言。

非关系型数据库特点

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

半结构化数据友好,可能支持事务(ACID),可能支持复杂查询语言。