• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

存储和数据库课堂和PPT知识点 | 青训营

武飞扬头像
上下一白老照片
帮助1

1.经典案例

数据的产生

学新通 小明同学注册了APP中的新账号,数据产生了,向APP后端服务器飞奔而去

数据的流动

学新通 为什么要持久化数据:如果不持久化,服务是没有记忆和保存能力的(用户每次登录都要重新注册)

数据的持久化

学新通 数据库存储软件不仅追求性能和稳定,还要注意硬件寿命,以对硬件友好的方式写入数据

2.存储&数据库简介

2.1 存储系统

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

存储系统特点

性能敏感:现代大型后端系统架构中涉及大量的,并发的,频繁的对存储系统的操作,需要存储系统具有超高新能

存储系统代码,既“简单”又“复杂”:IO路径(读写路径)代码要简单,避免性能受影响;非IO路径和IO路径错误处理(异常处理)代码需要考虑各种异常情况,代码需要比较复杂才能处理各类异常

系统架构容易受硬件影响:软件需要顺应硬件变革

存储器层级结构

学新通 “塔尖”存储器容量极小,超高性能访问;“底部”存储器容量大,读写慢,访问方式非常不友好

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

学新通 缓存很重要,贯穿整个存储体系:存储介质实际访问方式与软件希望的方式未必相同;不同层的软件之间的访问方式不相同;缓存可以在跨软件层的地方以对软件层或硬件层友好的方式与其他层级软件或硬件进行交互

拷贝很昂贵,应尽量减少:拷贝占用CPU,影响性能

需要有抽象统一的接入层与不同硬件交互

RAID技术

单机存储系统如何高性能,高性价比,高可靠:RAID (Redundant Array of Independent Disks) 学新通 学新通

RAID 0:多块磁盘简单组合成大容量存储,数据分成N份,在N块磁盘上独立地读写;性能高,可靠性不高

RAID 1:将同样的数据同时写入到工作磁盘和镜像磁盘;可靠性高,性能差

RAID 0 1:使用RAID 1方法的工作磁盘和镜像磁盘中的数据都用RAID 0方法存储

2.2 数据库

关系是什么?

关系 = 集合 = 任意元素组成的若干有序偶对

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

SQL = 一种DSL(领域特定语言)= 方便人类阅读的关系代数表达形式

关系型数据库特点

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

1.结构化数据友好

2.支持事务

3.支持复杂查询语言

非关系型数据库特点

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

1.半结构化数据友好

2.可能支持事务

3.可能支持复杂语言

2.3 数据库 vs 经典存储

结构化数据管理

关系型数据库:写入关系型数据库,以表形式管理 学新通

经典存储:写入文件,自行定义管理结构(繁琐复杂,需要自行计算移位) 学新通

事务能力

凸显出数据库支持“事务”的优越性

事务具有:ACID

Atomicity 原子性:事务内的操作要么全做,要么不做

Consistency 一致性:事务执行前后,数据状态保持一致

Isolation 隔离性:隔离多个并发事务,避免互相影响

Durability 持久性:事务提交成功后,事务对数据的更改是持久的

复杂查询能力

数据库:复杂查询时灵活,简洁

经典存储:复杂查询时僵化,复杂

2.4 数据库使用方式

Domian Specific Language(领域特定语言):SQL

SQL支持以下数据操作:Insert插入,Update更新,Select选择,Delete删除,Where子句(辅助查询,帮助筛选数据),Groupby分组,Orderby排序等

SQL支持以下修改数据定义的操作:Create user创建新用户,Create database创建新数据库,Create table创建新表,Alter table更改表等

总结

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbcgeb
系列文章
更多 icon
同类精品
更多 icon
继续加载