2021年10月6日 软考中级笔记---软件设计师(B站视频笔记)

软考中级---软件设计师---数据库部分(B站视频笔记)

  • 2021年10月6日 并发控制
    • 事务
    • 并发产生的问题
    • 解决方案
  • 2021年10月6日 数据库的完整性约束
  • 2021年10月6日 数据库安全
  • 2021年10月6日 数据备份
  • 数据仓库与数据挖掘
  • 反规范化
  • 大数据


2021年10月6日 并发控制

事务

把一系列操作打包,要么全做,要么全不做,
特点:原子性、一致性、隔离性、持续性
原子性:不可分割,要么全做,要么全不做;
一致性:事务执行前后,数据保持一致,类似能量守恒,一个地方转移到另一个地方;
隔离性:事务之间独立进行,互不影响;
持续性:事务执行之后结果影响是持续的。

并发产生的问题

并发是为了提高操作的效率。并发操作,并行执行,往往有问题。
1.丢失更新

				T1						T2
		①	读取A=10
		②								读取A=10
		③	A=A-5写回
		④								A=A-8写回

我们原本希望-5-8,一共-13, 但是最后的结果是2,产生丢失更新;
2.不可重复读
在做加法结束时,要做验算,但是T2的存在让验算不准,反而出错

				T1							T2
		①	读取A=20
			读取B=30
			求和=50
		②								读取A=20
										做A自增,A=A+50
										写回A=70
		③	A=70
			读取B=30
			求和=100
		(验算不对)

3.读“脏”数据
T2在读好数据后,T1做回滚操作,导致T2读取的数据无效

				T1							T2
		①	读取A=20
			A=A+50
			写回70
		②								读取A=70
		③	RollBack
			A=20

解决方案

封锁协议(X锁-写锁;S锁-读锁)
一级封锁协议:事务T在修改数据R之前,必须对其加X锁,直到事物结束才释放。可防止丢失修改
二级封锁协议:一级封锁协议加上事务T在读取数据R之前先对其加S锁,读完后即可释放S锁。可防止丢失修改,还可以防止读“脏”数据
三级封锁协议:一级封锁协议加上事务T在读取数据R之前先对其加S锁,知道事务结束才释放。可防止丢失丢修改,防止读“脏”数据,防止数据重复读
两段锁协议:可串行化的。可能会发生死锁。
死锁问题:可以预防,可以解决死锁


2021年10月6日 数据库的完整性约束

实体完整性约束:定义主键。主键不能为空,不能重复
参照完整性约束:外键。外键不能随便填,要求填入的数据是对应表的数据。允许为空。
用户自定义完整性约束:如输入年龄,就不能输入负数等。
触发器:更加复杂的要求往往通过触发器。


2021年10月6日 数据库安全

措施 说明
用户标识和鉴定 最外层的安全保护措施 ,可以使用用户账户、口令及随机数检验等方式
存取控制 对用户进行授权,包括操作类型(如查找、插入、删除、修改等动作)和数据对象(主要是数据范围)的权限
密码存储和传输 对远程终端信息用密码传输
视图的保护 对视图进行授权
审计 使用一个专用文件或数据库,自动将用户对数据库的所有操作记录下来

2021年10月6日 数据备份

冷备份和热备份
冷备份也称为静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来
热备份也称为动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份出来。

优点 缺点
冷备份 非常快速的备份方法(只需要胡子文件);容易归档(简单复制即可);容易恢复到某个时间点(只需将对应文件复制回去);能与归档方式相结合,做数据库“最佳状态”的恢复;低度维护,高度安全 单独使用时,只能提供到某一时间点上的恢复;在实施备份的全过程中,数据库必须要做备份二不能做其它工作;若磁盘空间有限只能复制到磁带等其他外部存储设备上,速度会很慢;不能按表或按用户恢复
热备份 可在表空间或数据库文件级备份,备份的时间短;备份时数据库仍可使用;可达到秒级恢复(恢复到某一时间点上);可对几乎所有数据库实体做恢复;恢复是快速的 不能出错,否则后果严重;若热备份不成功所得结果不可用于时间点的恢复;困难于维护,所以要特别小心,不允许“以失败告终”

完全备份、差量备份、增量备份
完全备份:备份所有数据
差量备份:仅备份上一次 完全备份 之后变化的数据
增量备份:备份上一次 备份 之后变化的数据

周日 周一 周二 周三 周四 周五 周六
完全备份 增量备份 增量备份 增量备份 差量备份 增量备份 增量备份

在做过上述备份时
假如数据库需要恢复到周三之前的版本,要经过先恢复周一的完全备份,在恢复周二的增量备份,再恢复周三的增量备份,才能到达周三的版本。要点:需要按时间顺序逐个恢复
假如要恢复到周五的数据库,那只要先恢复周日的完全备份,再恢复周四的差量备份,再恢复周五的增量备份
静态海量转储、静态增量转储、动态海量转储、动态增量转储
静态海量转储:在系统中无运行事务时进行,每次转储全部数据库。
静态增量转储:在系统中无运行事务时进行,每次只转储上一次转储后更新过的数据。
动态海量转储:转储期间允许对数据库进行存取或修改,每次转储全部数据库。
动态增量转储:转储期间允许对数据库进行存取或修改,每次自转出上一次转储后更新过的数据。
日志文件:事务日志是针对数据库改变所做的记录,它可以记录针对数据库的任何操作,并将记录结果保存在毒理的文件中。
数据库故障与恢复

故障关系 故障原因 解决方法
事务本身的可预期故障 本身逻辑 在程序中预想设置RollBack语句
书屋本身的不可预期故障 算术溢出、违反存储保护 由DBMS的恢复子系统通过日志,撤销事务对数据库的修改,回退到事务初始状态
系统故障 系统停止运转 通常使用检查点法
介质故障 外存被破坏 一般使用日志重做业务

数据仓库与数据挖掘

数据仓库特殊的数据库,存放大量,不常用的数据,可以供后续做统计等。特点:
面向主题:只看数据库某一个主题来组合数据
集成的:会保存一些报表信息
相对稳定的(非易失的):几乎不做变化了
反映历史变化(随着时间变化):隔一段时间导入
对数据源抽取(可能从不同数据库提取)、清理(比如统一格式)、转载、刷新
数据集市:数据仓库的建立是分步来建立,先做集市,再做仓库
OLAP服务器:(联机分析处理器)对数据仓库做分析处理的工作
表层:查询工具、报表工具、分析工具、数据挖掘等。
数据挖掘
方法:决策树、神经网络、遗失算法、关联规则挖掘算法
分类:关联分析、序列模式分析、分类分析、聚类分析


反规范化

反规范化:(用空间换时间)由于规范化会使表不断地拆分,从而导致数据表过多。这样虽然减少了数据冗余,提高了增、删、改的速度,但是会增加查询的工作量。系统需要进行多次连接,才能进行查询操作,是的系统效率大大下降。
技术手段:
增加派生性冗余列
增加冗余列
重新组表
分割表


大数据

数据量大、处理速度快、数据多样性、数据有价值
大数据分析与传统数据分析相比难易度

比较难度 传统数据 大数据
数据量 GB或TB级 PB级或以上
数据分析需求 现有数据的分析与检测 深度分析(关联分析、回归分析)
硬件平台 高端服务器 集群平台

大数据处理系统应该具有的重要特性
√ 高度可扩展性(集群环境可满足)
√ 高能性(集群环境可满足)
√ 高容错度(集群环境可满足)
√ 支持异构环境
√ 较短的分析延迟
√ 易用且开放的接口
√ 较低成本
√ 向下兼容性

你可能感兴趣的:(其他,职场和发展)