软考高级 架构师 第三章 数据库2

1.数据库安全

1.1.措施

用户标识和鉴定:账号密码

存取控制:用户权限控制,如:增删改查

密码存储和传输:远程终端信息传输使用密码加密

视图的保护:对视图进行授权

审计:使用专门的文件或数据库,自动记录用户的操作,如日志

1.2.故障及解决方法

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

1.3.数据库备份

静态备份(冷备份):在备份时不允许数据库任何操作。优点速度快,容易归档。缺点:只能提供恢复到某个时间点上的数据,不能做其他工作,不能按表恢复或按用户恢复。

动态备份(热备份):在转储期间可对数据库进行存取操作,转储和用户事务并发执行。优点:可在表空间或数据库文件级备份,数据库仍可使用,可达到秒级恢复;缺点:不能出错,否则后果严重,若热备份失败,所得结果几乎全部不可用。

完全备份:备份所有数据

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

增量备份:备份上一次备份之后变化的数据

日志文件:在事务处理过程中,DBMS把事务开始、结束以及对数据库的插入、删除和修改的每一次操作写入日志文件。一旦发生故障,DBMS的恢复子系统利用日志文件撤销事务对数据库的改变,回退到事务的初始状态。

2.分布式数据库

局部数据库位于不同的物理位置,使用一个全局DBMS将所有局部数据库联网管理

分片模式:

水平分片:将表水平记录存放在不同位置

垂直分片:将表垂直的列值存放在不同位置

分布透明性:

分片透明性:用户或应用程序不需要知道逻辑上访问的具体是如何分块存储的。

位置透明性:应用程序不关心数据存储的物理位置的改变。

逻辑透明性:用户或应用程序不需要知道局部使用的是哪种数据模式。

复制透明性:用户或应用程序不需要知道数据是从哪里复制过来的。

3.数据仓库

数据仓库是一个面向主题、集成的、非易失的且随时间变化的数据集合,用于支持决策管理。

3.1.特点

面向主题:按照一定的主题域进行组织的。

集成的:数据仓库的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库的信息是关于整个企业的一致的全局信息。

相对稳定的:数据仓库的数据主要用于决策分析用,所涉及到的操作主要是数据查询,一旦进入某个数据仓库,一般情况下将被长期保留。数据仓库一般有大量的查询,但是修改和删除比较少,通常只需要定期地刷新和加载。

反应历史变化:数据仓库中地数据通常包含历史数据,记录了企业从过去某个时间点到目前各个阶段地信息。通过这些信息,可以对企业的发展历史和未来趋势做出定量分析和预测。

3.2.四个层次

数据源:数据仓库的基础,是整个系统的数据源泉

数据的存储与管理:是 整个数据仓库系统的核心

OLAP(联机分析)服务器:对分析需要的数据进行有效集成,按多维模型组织,以便进行多角度、多层次的分析,并发现趋势

前端工具:主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具

3.3.技术-BI系统

BI系统四个阶段:数据预处理、建立数据仓库、数据分析和数据展现

数据预处理:ETL抽取、转换、加载

数据分析:一般采用OLAP和数据挖掘技术

4.反规范化技术

规范化设计之后,数据库设计者希望通过牺牲部分规范化来提高性能。

益处:降低连接操作的需求、降低外码和索引的数目,还能减少表的数量,提高查询效率

可能带来的问题:数据重复存储,浪费存储空间,可能会出现完整性问题,为了保证数据一致性,增加了数据维护的复杂性,会降低修改速度。

做法:

1、增加冗余列

2、增加派生列,派生是指这个值是可以计算出来的

3、重新组表,原本需要连表查询的数据组成一张表

4、水平分割表

5、垂直分割表

5.大数据

特点:大量化、多样化、价值密度低、快速化

大数据和传统数据对比:

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

处理大数据一般使用集成平台,称为大数据处理系统,其特征为:高可拓展性、高性能、高度容错、支持异构环境、较短的分析延迟、易用且开放的接口、较低成本、向下兼容

6.SQL语言

不记录

6.1.例题:

答案:C A D B

相关推荐
小白教程几秒前
MySQL数据库的安全性防护
数据库·mysql
Lion Long2 分钟前
CodeBuddy 中国版 Cursor 实战:Redis+MySQL双引擎驱动〈王者荣耀〉战区排行榜
数据库·redis·mysql·缓存·腾讯云·codebuddy首席试玩官·codebuddy
apcipot_rain3 小时前
【应用密码学】实验五 公钥密码2——ECC
前端·数据库·python
辛一一6 小时前
neo4j图数据库基本概念和向量使用
数据库·neo4j
巨龙之路7 小时前
什么是时序数据库?
数据库·时序数据库
蔡蓝7 小时前
binlog日志以及MySQL的数据同步
数据库·mysql
是店小二呀8 小时前
【金仓数据库征文】金融行业中的国产化数据库替代应用实践
数据库·金融·数据库平替用金仓·金仓数据库2025征文
炒空心菜菜8 小时前
SparkSQL 连接 MySQL 并添加新数据:实战指南
大数据·开发语言·数据库·后端·mysql·spark
多多*8 小时前
算法竞赛相关 Java 二分模版
java·开发语言·数据结构·数据库·sql·算法·oracle
爱喝酸奶的桃酥8 小时前
MYSQL数据库集群高可用和数据监控平台
java·数据库·mysql