软考系统架构师-数据库

数据库

1 数据库的三级模式和两级映射

软考系统架构师-数据库

  • 三级模式:
    • 用户:也就是体现给用户看的层次,用户不需要知道底层数据是什么样子的,是如何存储的,只需要看到这个数据出来即可
    • 概念:类似mysql或者各种数据库表的层面,不需要知道底层的数据是存什么样子的,只需要建立起映射即可
    • 物理:存的都是一个一个的文件,只要建立起映射,可以做好几种数据库的数据源
  • 两级映射:
    -内模式:从物理层面转成逻辑层面的映射,也就是从文件到表的映射
    -外模式:从逻辑层到外模式(用户模式)的映射

2数据库的设计过程

软考系统架构师-数据库

  • 1:通过当前和未来应用的数据要求,进行需求分析,产生数据流图和数据字典和需求说明书
  • 2:经过需求分析之后,进行概念结构设计,产生用户的数据模型,ER模型,和DBMS无关的概念模型
  • 3:经过转换规则和规范化处理,进行逻辑结构设计,产生关系模式,应该具有视图,完整性约束及应用处理说明书
  • 4:经过DBMS特性和硬件,OS特性等进行物理设计

数据库安全

  • 1:用户:用户登录数据库,相当于一个验证
  • 2:存取控制:数据的输入和输出的控制
  • 3:密码存储和传输:密码不能用明文来处理
  • 4:视图的保护:产生的视图也是有权限的,不是所有的人都能接触到视图
  • 5:审计:
    ##3.数据备份
  • 1:热备份:动态备份,利用备份软件,在数据库正常运行的情况下,将数据库的数据备份出来
  • 2:冷备份:静态备份,将数据库正常关闭 ,在停止的情况下,将数据库的数据备份出来
技术 优点 缺点
冷备份 低度维护,高度安全,非常快速的复制方法, 容易归档,容易恢复到某个时间点的数据 ,做到数据库最佳状态的恢复 不能按照表和用户来恢复,要关闭数据库 ,单独使用只能做到单个时间段的备份,若是磁 盘空间不足,只能复制到外部存储设备
热备份 恢复比较快,可以边进行业务边备份,可以 达到任意时间段的备份,备份时间短 不能出错,如果失败,则不能用于恢复, 无法承受失败的后果
  • 3:数据备份的形式:各有各的好处,可以穿插使用
    • 3.1:完全备份:把所有数据库的数据都备份
    • 3.2:差量备份:备份距离上一次完全备份到现在变化的数据
    • 3.3:增量备份:备份距离上一次备份到现在变化的数据
  • 4:数据库备份的形式
    • 4.1: 静态海量转储:在系统无运行事务时进行,每次都转储全部数据库
    • 4.2: 静态增量转储:在系统无运行事务时进行,每次都转储上次转储之后修改的数据库
    • 4.3: 动态海量转储:转储期间允许对数据库进行存取或修改,每次都转储全部数据库
    • 4.4: 动态增量转储:转储期间允许对数据库进行存取或修改,每次都转储上次转储之后修改的数据库
  • 5:日志文件:事务日志是对数据库数据修改的记录,记录针对数据库的任何操作,并将记录保持到独立的文件
  • 6:数据库故障和恢复
故障关系 故障原因 解决办法
可预估的故障 本身逻辑 在程序中写上rollback操作
不可预估的故障 算法溢出,违反存储保护 通过日志恢复到故障之前的数据库
系统故障 系统停止运行 通常使用检查方法
介质故障 外存被破坏 用日志重做业务
  • 7:分布式数据库
    • 7.1:分布式透明性
      • 7.1.1:分片透明性:
        • 7.1.1.1:水平分片:等于是冗余字段,原本我需要你表的字段,后面我自己设置了就不需要你的了
        • 7.1.1.2:垂直分片:等于是拆分列,把某些表拆分成小的表,数据量更小
        • 7.1.1.3:混合分片:水平和垂直的混合
      • 7.1.2:位置透明性
      • 7.1.3:局部数据模型透明性
    • 7.2:数据库管理系统-组成
      • 7.2.1:LDBMS
      • 7.2.2:GDBMS
      • 7.2.3:全局数据字典
      • 7.2.4:通信管理
        -7.3:数据库管理系统-结构
      • 7.3.1:全局控制集中的DDBMS
      • 7.3.2:全局控制分散的DDBMS
      • 7.3.3:全局控制部分分散的DDBMS
  • 8 :数据库的优化
    • 8.1:集中式数据库优化
      • 8.1.1 硬件系统:cpu,io,内存,网络等
      • 8.1.2 软件系统:参数,进程优先权,cpu使用权,内存使用等
      • 8.1.3 数据库设计
        • 8.1.3.1 表和视图:表的规划,物化视图
        • 8.1.3.2 索引:常查询-建索引,常增删-不建索引
        • 8.1.3.3 sql优化: 减少连表等
          -8.1.4 应用软件: 数据库连接池
    • 8.2:分布式数据库优化
      • 8.2.1 通信代价:全局查询树的变换,多副本策略,查询树的分解,半连接和直接连接
  • 9 :数据库,数据仓库和数控挖掘
    • 9.1 数据仓库:面对主题,集成的,相对稳定的,反应历史变化
    • 9.2 数据库:按照业务需求来保存数据,面向应用
    • 9.3 数据挖掘:抽取,清理,装载,刷新数据(决策树,神经网络,遗传算法,关联规则挖掘算法)
      • 9.3.1 挖掘方法分类
        • 9.3.1.1 关联分析:挖掘出隐藏在数据之间的相互关系
        • 9.3.1.2 序列模式分析:侧重点在分析数据之间的因果关系
        • 9.3.1.3 分类分析:为每一个记录赋予一个标志在分类
        • 9.3.1.4 聚类分析:分类分析法的逆过程
    • 9.4 联邦数据库是一个批次协作却又相互独立的成员数据库的集合,他将成员数据库系统按不同程度进行集成,对该系统整体提供控制和协作
  • 10 nosql数据库
    • 10.1:并发性能高,海量数据存储,查询效率高,向外扩展(加机器),键值索引,特定的应用领域
    • 10.2 缺点:成熟度不高,开源数据库产品支持力度不够,数据挖掘和商务智能支持不足,专家少,学习阶段
  • 11 反规则
    • 11.1 由于规范化,使得表的数量越来越多,虽然减少了数据的冗余,提高了增改删的效率,但是查询效率比较低,多次连表才能成功
    • 11.2 技术手段:增加派生冗余列,增加冗余列,重新组表,分割表
  • 12 大数据
    • 12.1 特点:数据量大,速度快,数据多样性,需要对数据做深度分析,平台是集群平台
    • 12.2 大数据系统特征:高度可扩展性,高性能,高度容错,支持异构环境,较短的分析延迟,易用且开放的接口,较低成本,向下兼容性