摘要:死锁问题可以预防,可以解决死锁年月日数据库的完整性约束实体完整性约束定义主键。主键不能为空,不能重复参照完整性约束外键。系统需要进行多次连接,才能进行查询操作,是的系统效率大大下降。
把一系列操作打包,要么全做,要么全不做,
特点:原子性、一致性、隔离性、持续性
原子性:不可分割,要么全做,要么全不做;
一致性:事务执行前后,数据保持一致,类似能量守恒,一个地方转移到另一个地方;
隔离性:事务之间独立进行,互不影响;
持续性:事务执行之后结果影响是持续的。
并发是为了提高操作的效率。并发操作,并行执行,往往有问题。
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锁,知道事务结束才释放。可防止丢失丢修改,防止读“脏”数据,防止数据重复读
两段锁协议:可串行化的。可能会发生死锁。
死锁问题:可以预防,可以解决死锁
实体完整性约束:定义主键。主键不能为空,不能重复
参照完整性约束:外键。外键不能随便填,要求填入的数据是对应表的数据。允许为空。
用户自定义完整性约束:如输入年龄,就不能输入负数等。
触发器:更加复杂的要求往往通过触发器。
措施 | 说明 |
---|---|
用户标识和鉴定 | 最外层的安全保护措施 ,可以使用用户账户、口令及随机数检验等方式 |
存取控制 | 对用户进行授权,包括操作类型(如查找、插入、删除、修改等动作)和数据对象(主要是数据范围)的权限 |
密码存储和传输 | 对远程终端信息用密码传输 |
视图的保护 | 对视图进行授权 |
审计 | 使用一个专用文件或数据库,自动将用户对数据库的所有操作记录下来 |
冷备份和热备份
冷备份也称为静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来
热备份也称为动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份出来。
优点 | 缺点 | |
---|---|---|
冷备份 | 非常快速的备份方法(只需要胡子文件);容易归档(简单复制即可);容易恢复到某个时间点(只需将对应文件复制回去);能与归档方式相结合,做数据库“最佳状态”的恢复;低度维护,高度安全 | 多带带使用时,只能提供到某一时间点上的恢复;在实施备份的全过程中,数据库必须要做备份二不能做其它工作;若磁盘空间有限只能复制到磁带等其他外部存储设备上,速度会很慢;不能按表或按用户恢复 |
热备份 | 可在表空间或数据库文件级备份,备份的时间短;备份时数据库仍可使用;可达到秒级恢复(恢复到某一时间点上);可对几乎所有数据库实体做恢复;恢复是快速的 | 不能出错,否则后果严重;若热备份不成功所得结果不可用于时间点的恢复;困难于维护,所以要特别小心,不允许“以失败告终” |
完全备份、差量备份、增量备份
完全备份:备份所有数据
差量备份:仅备份上一次 完全备份 之后变化的数据
增量备份:备份上一次 备份 之后变化的数据
周日 | 周一 | 周二 | 周三 | 周四 | 周五 | 周六 |
---|---|---|---|---|---|---|
完全备份 | 增量备份 | 增量备份 | 增量备份 | 差量备份 | 增量备份 | 增量备份 |
在做过上述备份时
假如数据库需要恢复到周三之前的版本,要经过先恢复周一的完全备份,在恢复周二的增量备份,再恢复周三的增量备份,才能到达周三的版本。要点:需要按时间顺序逐个恢复
假如要恢复到周五的数据库,那只要先恢复周日的完全备份,再恢复周四的差量备份,再恢复周五的增量备份
静态海量转储、静态增量转储、动态海量转储、动态增量转储
静态海量转储:在系统中无运行事务时进行,每次转储全部数据库。
静态增量转储:在系统中无运行事务时进行,每次只转储上一次转储后更新过的数据。
动态海量转储:转储期间允许对数据库进行存取或修改,每次转储全部数据库。
动态增量转储:转储期间允许对数据库进行存取或修改,每次自转出上一次转储后更新过的数据。
日志文件:事务日志是针对数据库改变所做的记录,它可以记录针对数据库的任何操作,并将记录结果保存在毒理的文件中。
数据库故障与恢复
故障关系 | 故障原因 | 解决方法 |
---|---|---|
事务本身的可预期故障 | 本身逻辑 | 在程序中预想设置RollBack语句 |
书屋本身的不可预期故障 | 算术溢出、违反存储保护 | 由DBMS的恢复子系统通过日志,撤销事务对数据库的修改,回退到事务初始状态 |
系统故障 | 系统停止运转 | 通常使用检查点法 |
介质故障 | 外存被破坏 | 一般使用日志重做业务 |
数据仓库特殊的数据库,存放大量,不常用的数据,可以供后续做统计等。特点:
面向主题:只看数据库某一个主题来组合数据
集成的:会保存一些报表信息
相对稳定的(非易失的):几乎不做变化了
反映历史变化(随着时间变化):隔一段时间导入
对数据源抽取(可能从不同数据库提取)、清理(比如统一格式)、转载、刷新
数据集市:数据仓库的建立是分步来建立,先做集市,再做仓库
OLAP服务器:(联机分析处理器)对数据仓库做分析处理的工作
表层:查询工具、报表工具、分析工具、数据挖掘等。
数据挖掘
方法:决策树、神经网络、遗失算法、关联规则挖掘算法
分类:关联分析、序列模式分析、分类分析、聚类分析
反规范化:(用空间换时间)由于规范化会使表不断地拆分,从而导致数据表过多。这样虽然减少了数据冗余,提高了增、删、改的速度,但是会增加查询的工作量。系统需要进行多次连接,才能进行查询操作,是的系统效率大大下降。
技术手段:
增加派生性冗余列
增加冗余列
重新组表
分割表
数据量大、处理速度快、数据多样性、数据有价值
大数据分析与传统数据分析相比难易度
比较难度 | 传统数据 | 大数据 |
---|---|---|
数据量 | GB或TB级 | PB级或以上 |
数据分析需求 | 现有数据的分析与检测 | 深度分析(关联分析、回归分析) |
硬件平台 | 高端服务器 | 集群平台 |
大数据处理系统应该具有的重要特性
√ 高度可扩展性(集群环境可满足)
√ 高能性(集群环境可满足)
√ 高容错度(集群环境可满足)
√ 支持异构环境
√ 较短的分析延迟
√ 易用且开放的接口
√ 较低成本
√ 向下兼容性
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/121840.html
摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...
摘要:由于长期苦恼于第三方库选择的广大开发者而言,这也是谷歌为我们提供的一盏明灯。手机淘宝构架演化实践淘宝相信都不陌生了从年开始,从万增长到超过亿,面临的问题包括研发支撑所需要解决的事情各不相同。 ...
摘要:云计算正以空前的发展速度,迎来自己的大机会时代。月日,金山云财报,云业务营收亿元,同比增长。因此,对每个正在行业里寻找机会的企业来说,任正非先生说的一番话似乎都非常值得共同重温一下他说在大机会时代,千万不要机会主义,反而要有战略耐性。后疫情时代,情势倒逼生产服务场景和消费场景快速线上化,数据显示,2020年以来,即使按照最保守的口径估计,中国远程办公企业规模超过1800万家,远程办公人员超过...
阅读 2459·2023-04-25 19:31
阅读 2192·2021-11-04 16:11
阅读 2774·2021-10-08 10:05
阅读 1480·2021-09-30 09:48
阅读 2277·2019-08-30 15:56
阅读 2364·2019-08-30 15:56
阅读 2142·2019-08-30 15:53
阅读 2229·2019-08-30 15:44