数据库|青训营笔记

98 阅读2分钟

01.经典案例

1.经典案例一潜在的问题

数据库怎么保证数据不丢? 数据库怎么处理多人同时修改的问题? 为什么用数据库,除了数据库还能存到别的存储系统吗? 数据库只能处理结构化数据吗? 有哪些操作数据库的方式,要用什么编程语言?

02.存储&数据库简介

2.1存储系统

系统概览

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

用户使用,存储介质,内存性能高效的数据结构,高性能,网络编程,海量存储场景,分布式

系统特点

Untitled

存储器层级结构

image (3).png

中间层有没有兼顾二者的?Persistent Memory

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

image (4).png

「缓存」很重要,贯穿整个存储体系 「拷贝」很昂贵,应该尽量减少

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

RAID技术 Q:单机存储系统怎么做到高性能/高性价比/高可靠性? A : R(edundant) A(rray) of l(nexpensive) D(isks) RAID出现的背景: 单块大容量磁盘的价格>多块小容量磁盘 单块磁盘的写入性能<多块磁盘的并发写入性能 单块磁盘的容错能力有限,不够安全

RAID 0 多块磁盘简单组合 数据条带化存储,提高磁盘带宽 但是没有额外的容错设计,没有对数据进行备份冗余,只是写进去的时候会被切割

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

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

2.2数据库

概述

关系型数据库

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

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

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

关系型数据库特点

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

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

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

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