软考高级之系统架构师系列之数据库系统

概述

如标题所述。本文面向于软考高级,具体来说是系统架构师。

数据库系统

四个阶段

四个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计;也有六个阶段的说法:增加 数据库实施阶段、数据库运行和维护阶段

需求分析

调查研究,了解用户的数据要求和处理要求,并按一定格式整理需求说明书,完成的文档数据字典和数据流图。

对现实世界要处理的对象进行详细的调查,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能。

  1. 调查分析用户活动
  2. 收集和分析需求数据,确定系统边界信息需求,处理需求,安全性和完整性需求
  3. 编写系统分析报告
    两种方法:自顶向下,自底向上

概念结构设计

将需求分析数据抽象成局部E-R模型,再将局部E-R模型集成为全局E-R模型。E-R模型,提供能够识别和理解系统要求的框架,为数据库提供一个说明性结构,作为设计数据库逻辑结构,即逻辑模型的基础。

逻辑结构设计

把概念结构设计阶段设计好的基本E-R图转换为与具体机器上的 DBMS 产品所支持的数据模型相符合的逻辑结构。
由初始关系模式设计到关系模式规范化再到模式评价

物理结构设计

对于给定的逻辑数据模型,选取一个最适合应用环境的物理结构。实际的物理设备上的存储结构和存取方法称为数据库的物理结构。

数据库实施

根据逻辑设计和物理设计的结果,在计算机上建立起实际的数据库结构、装入数据、进行测试和试运行的过程。

运行和维护

主要有以下三项内容:

  1. 维护数据库的安全性和完整性
  2. 监测并改善数据库性能
  3. 重新组织和构造数据库

设计原则

一对一设计原则:
独特命名原则:
双向使用原则:事务使用原则和索引功能原则。首先,双向使用原则是在逻辑工作单元模式基础上实现其表现形式的,不仅给非事务性单元操作工作提供基础保障,也保证其能够及时更新、获取数据资源。索引功能原则的有效运用,使其获取更多属性列数据信息,并且对其做到灵活排序。目前,软件市场常见的索引模式有:多行检索聚簇索引和单行检索非聚簇索引。

数据模型

企业战略数据模型可分为数据库模型和数据仓库模型,数据库模型用来描述日常事务处理中的数据及其关系;数据仓库模型则描述企业髙层管理决策者所需信息及其关系。在企业信息化过程中,数据库模型是基础,一个好的数据库模型应该客观地反映企业生产经营的内在联系。

模式

1.外模式
外模式(子模式,用户模式),对应于用户级,对应于用户所看到的数据库的数据视图,是与和具体的应用或者项目有关的逻辑表示。用户可以通过外模式描述语言来描述、定于对应于用户的数据记录,也可以用数据库操纵语言DML来对这些数据进行操作。外模式反映数据库系统的用户观。
2.概念模式
逻辑模式,对应概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库总全部数据的逻辑结构特征的总体描述,是所有用户的公共数据视图(全局视图)。他是有数据库管理系统提供IP的数据模式描述语言DDL来描述定义。概念模式反映了数据库系统的整体观。
3.内模式
又称为存储模式,对应物理级,是数据库中全体数据的内部表示或者底层描述,是数据库最低一级的逻辑描述,他描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。内模式用内模式描述语言来描述。内模式反映了数据库系统的存储观。
在一个数据库系统中只有唯一的数据库,因而作为定义,描述数据存储结构的内模式和定义、描述数据库逻辑结构的模式也是唯一的。但建立在数据库系统之上的应用则是非常多的。所以对应的外模式是不唯一的,也不可能是唯一的。
用户应该根据外模式进行数据操作,通过外模式映射,定义和建立某个外模式和模式键的对应关系,将外模式和于模式联系起来。当模式发生改变的时候,只需要改变映射,就可以使外模式保持不变,对应的程序也可以保持不变;另外一方面通过模式—内模式映射,定义建立数据的逻辑结构和存储结构间的对应关系,当数据的存储结构发生变化时,只需要改变模式–内模式映射,就能保持模式不变,因此应用程序也可以保持不变

三范式

  1. 1NF 是最低的规范化要求。如果关系 R 中所有属性的值域都是简单域,其元素(即属性)不可再分,是属性项而不是属性组,那么关系模型 R 是第一范式的,记作 RÎ1NF。
  2. 如果一个关系 R 属于 1NF,且所有的非主属性都完全依赖于主属性,记作 RÎ2NF
  3. 如果一个关系 R 属于 2NF,确保数据表中的每一列数据都和主键直接相关,在2NF基础上消除传递依赖

反规范化

  1. 增加冗余列:指在多个表中具有相同的列,它常用来在查询时避免连接操作
  2. 增加派生列:指增加的列可以通过表中其他数据计算生成
  3. 重新组表:如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成 一个表来减少连接而提高性能
  4. 分割表:有时对表做分割可以提高性能。表分割有两种方式:水平分割和垂直分割

ACID

在数据库系统中,事务是访问并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。
假设在某一个时刻只有一个活动的事务,为了保证事务的原子性,对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除副本,原数据库没有受到任何影响。这种设计策略称为( )。事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用(/)机制保证单个事务的一致性。事务的隔离性保证操作并发执行后的系统状态与这些操作以某种次序顺序执行(即可串行化执行)后的状态是等价的。两阶段锁协议是实现隔离性的常见方案,该协议(/) 。持久性保证一旦事务完成,该事务对数据库所做的所有更新都是永久的,如果事务完成后系统出现故障,则需要通过恢复机制保证事务的持久性。假设在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,则在日志中(/) ,当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务应该(/)
题干中第1个架构设计场景描述了数据库设计中为了实现原子性和持久性的最为简单的策略:“影子拷贝”。该策略假设在某一个时刻只有一个活动的事务,首先对数据库做副本(称为影子副本),并在磁盘上维护一个dp_pointer指针,指向数据库的当前副本。对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止, 系统仅需要删除新副本,原数据库副本没有受到任何影响。 题干中的第2个架构设计场景主要考查考生对事务一致性实现机制的理解。事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用完整性约束检查机制保证单个事务的一致性。 题干中的第3个架构设计场景主要考查数据库的锁协议。两阶段锁协议是实现事务隔离性的常见方案,该协议通过定义锁的增长和收缩两个阶段约束事务的加锁和解锁过程,能够保证事务的串行化执行,但由于事务不能一次得到所有需要的锁,因此该协议会可能会导致死锁。 题干中的第4个架构设计场景主要考查数据库的恢复机制,主要描述基于日志的延迟修改技术(deferred-modification technique)的设计与恢复过程。该技术通过在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,日志中需要记录事务开始和事务提交时间,还需要记录数据项被事务修改后的新值,无需记录数据项被事务修改前的原始值。当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务对数据项的修改尚未体现在数据库中,因此无需做任何恢复动作。

分布式数据库

透明概念

包括分片透明、复制透明、位置透明、逻辑透明。

  • 分片透明:指用户或应用程序不需要知道逻辑上访问的表具体是怎么分块存储的
  • 复制透明:指采用复制技术的分布方法,用户不需要知道数据是复制到哪些节点,如何复制的
  • 位置透明:指用户无须知道数据存放的物理位置
  • 逻辑透明:即局部数据模型透明,是指用户或应用程序无须知道局部场地使用的是哪种数据模型

分布式数据库系统与并行数据库系统的区别

分布式数据库系统与并行数据库系统具有很多相似点:它们都是通过网络连接各个数据
处理结点的,整个网络中的所有结点构成一个逻辑上统一的整体,用户可以对各个结点上的 数据进行透明存取等。但分布式数据库系统与并行数据库系统之间还是存在着显著的区别的, 主要表现在以下几个方面:
(1)应用目标不同。并行数据库系统的目标是充分发挥并行计算机的优势,利用系统 中的各个处理机结点并行地完成数据库任务,提高数据库的整体性能。分布式数据库系统主 要目的在于实现各个场地自治和数据的全局透明共享,而不要求利用网络中的各个结点来提 高系统的整体性能。
(2)实现方式不同。由于应用目标各不相同,在具体实现方法上,并行数据库与分布 式数据库之间也有着较大的区别。在并行数据库中,为了充分发挥各个结点的处理能力,各 结点间采用高速通信网络互联,结点间数据传输代价相对较低。当负载不均衡时,可以将工 作负载过大的结点上的任务通过高速通信网络送给空闲结点处理,从而实现负载平衡。在分 布式数据库系统中,各结点(场地)间一般通过局域网或广域网互联,网络带宽比较低,各 场地之间的通信开销较大,因此在查询处理时一般应尽量减少结点间的数据传输量。
(3)各结点的地位不同。在并行数据库中,各结点之间不存在全局应用和局部应用的 概念。各个结点协同作用,共同处理,而不可能有局部应用。

二阶段提交协议

针对不同的数据库系统,有不同的二阶段提交协议:

  • 传统集中式数据库:加锁阶段和解锁阶段也称为扩展阶段和收缩阶段
  • 与开发数据库应用过程相关:获取阶段和运行阶段
  • 分布式数据库:表决阶段和执行阶段

大数据

  1. 特点:4V
    Volume:数据量大
    Variety:数据种类繁多
    Value:数据价值密度低
    Velocity:处理速度快
  2. 技术:大数据采集、大数据预处理、大数据存储及管理、大数据分析及挖掘、大数据展现和应用(大数据检索、大数据可视化、大数据应用、大数据安全 )。

数据仓库

概念:一个面向主题的、集成的、相对稳定的、且随时间变化的数据集合,用于支持管理决策

4大特点:

  • 面向主题:数据按主题组织
  • 集成的:消除源数据中的不一致性,提供整个企业的一致性全局信息
  • 相对稳定的(非易失的):主要进行查询操作,只有少量的修改和删除操作(或是不删除)
  • 反映历史变化(随着时间变化):记录企业从过去某一时刻到当前各个阶段的信息,可对发展历程和未来趋势做定量分析和预测。

2.框架结构
数据仓库基本功能层、数据仓库管理层、数据仓库的环境支持层
3.架构
数据源、数据的存储与管理、OLAP 服务器、前端工具
4.实现方法
自顶向下法、自底向上法和联合方法
十.数据挖掘
1.技术:关联分析、序列分析、分类、预测、聚类分析及时间序列分析
2.流程:问题定义、建立数据挖掘库、分析数据、调整数据、模型化、评价和解释

数据挖掘

数据挖掘是从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的非平凡过程,数据挖掘的任务有关联分析、聚类分析、分类分析、异常分析、特异群组分析和演变分析等。并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的Web页面,则是信息检索领域的任务。虽然这些任务是重要的,可能涉及使用复杂的算法和数据结构,但是它们主要依赖传统的计算机科学技术和数据的明显特征来创建索引结构,从而有效地组织和检索信息。

转储

数据的转储分为静态转储和动态转储、海量转储和增量转储

  • 静态转储和动态转储:静态转储是指在转储期间不允许对数据库进行任何存取、修改操作;动态转储是在转储期间允许对数据库进行存取、修改操作,故转储和用户事务可并发执行
  • 海量转储和增量转储:海量转储是指每次转储全部数据;增量转储是指每次只转储上次转储后更新过的数据

参考

你可能感兴趣的:(软考高级,系统架构)