带你认识存储的本质| 青训营笔记

42 阅读2分钟

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

前言

本文章记录了带你认识存储的本质学习的部分内容,记录了今天所学习的部分知识

1.数据库简介

1.1存储系统

Q:什么是存储系统?

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

1.2系统特点

  • 作为后端软件的底座,性能敏感
  • 存储系统软件架构,容易受硬件影响
  • 存储系统代码,既“简单"又“复杂”

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

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

1.4RAID技术

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

A: R(edundant) A(rray) of l(nexpensive)D(isks)

RAID出现的背景:

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

RAID0

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

RAID 1

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

RAID 0+ 1

  • 结合了RAIDO和RAID 1
  • 真实空间利用率仅50%
  • 容错能力强.写入带宽好

2.数据库

2.1数据库概念

关系(Relation)又是什么?

  • Edgar.F.Codd于1970年提出「关系模型」
  • 关系=集台=任意元素组成的若干有序偶对反应了事物间的关系
  • 关系代数=对关系作运算的抽象查询语言 ·交、并、笛卡尔积……
  • SQL=一种DSL=方便人类阅读的关系代数表达形式

2.2关系型数据库特点

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

  • 结构化数据友好
  • 支持事务(AcID)
  • 支持复杂查询语言