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

55 阅读2分钟

RAID

RAID出现的背景

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

RAID0(提高性能):多个磁盘组成,没有备份处理,假设有两个磁盘组成RAID0,我要写入1MB数据等价于把数据分成 两份存储两个磁盘,读取的时候同时读取两个磁盘512KB即可。

RAID1(提高容错):为每一个磁盘提供一个镜像盘

RAID10:

image.png RAID01:

image.png

从读取和写入性能来看,RAID10比RAID01要高(同时读/写取4份和2份)

数据库和存储系统

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

数据库:是存储系统,但比存储系统多了一些新的特性

数据库相对于存储系统的优势

  1. 结构化数据管理
  2. 事务
  3. 简单的复杂查询能力

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

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

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

事务: 原子性(Atomic): 事务是一个不可分割的整体,事务必须具有原子特性,及当数据修改时,要么全执行,要么全不执行,即不允许事务部分的完成。

一致性(Consistency): 一个事务执行之前和执行之后,数据库数据必须保持一致性状态。数据库的一致性状态必须由用户来负责,由并发控制机制实现。就拿网上购物来说,你只有让商品出库,又让商品进入顾客的购物车才能构成一个完整的事务。

隔离性(Isolation): 当两个或者多个事务并发执行时,为了保证数据的安全性,将一个事物内部的操作与其它事务的操作隔离起来,不被其它正在执行的事务所看到,使得并发执行的各个事务之间不能互相影响。(为了能够并发执行,涉及数据安全性&一致性和并发效率)

持久性(Durability): 事务完成(commit)以后,DBMS保证它对数据库中的数据的修改是永久性的,即使数据库因为故障出错,也应该能够恢复数据!