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

62 阅读3分钟

1.1 存储系统

1.1.1 系统概览
  • 什么是存储系统?

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

  • User(用户)/Medium(媒介)/Memory(内存)/Network(网络)

①系统要让用户使用,同时数据需要持久化地写在存储器之上,User要与Medium打交道。

②设计很多性能高的,操作方便的内存数据结构,来帮助我们系统达到更好的性能。作为存储系统,既要能提供读写,又要能提供各种控制,还要跟存储介质、网络、内存打交道,最终才能做出来一个存储系统。

③通过网络,把一个单机系统发展成为分布式存储系统。(可以满足比较苛刻场景的需求)

1.1.2 系统特点
  • 作为后端软件的底座,性能敏感

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

存储系统在I/O路径上,代码不能写得很复杂,也不能有很多分支,把系统系能降低。

在非I/O路径上,或者在I/O路径上的一些错误的分支上,我们要考虑到多种异常情况(软件、硬件损坏)。

  • 存储系统软件架构,容易受硬件影响。 当硬件变革时,软件需要顺应硬件来进行变革。
1.1.3 存储器层级结构

image.png

1.1.4 RAID技术

通过RAID,单机存储系统可以做到高性能、高性价比、高可靠性。

RAID出现背景:

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

RAID 0:

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

RAID 1:

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

RAID 0+1:

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

2.1 数据库

2.1.1 概览

分为关系型数据库和非关系型数据库

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

关系型数据库特点:

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

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

非关系型数据库特点:

  • 半结构化数据友好
  • 可能支持事务(ACID)
  • 可能支持复杂查询语言
2.1.2 数据库VS经典存储

①结构化数据管理

image.png

②事务能力

image.png

③复杂查询能力

image.png

2.1.3 数据库使用方式

常用操作:

  • Insert
  • Update
  • Select
  • Delete
  • Where子句
  • GroupBy
  • OrderBy ……

定义修改操作:

  • Create user
  • Create database
  • Create table
  • Alter table ……

3.1 存储与数据库新技术

image.png

个人总结

这几个视频讲的主要是数据库的背景入门之类的,还没有讲到代码部分,要是入门数据库,还是得往后看或者去其他视频网站找资源学写代码,掌握数据库的精髓。