备考软考数据库 13 网络环境下的数据库

重点:
1 分布式数据库的定义和优缺点
2 分布式数据库的体系结构
3 分布式数据库的查询优化
4 分布式数据库的管理方法
5 WWW技术与数据库技术的结合
6 ,XML
1.分布式数据库(Distributed DataBase System)定义和优缺点
定义:物理上分散逻辑上集中的数据库系统
组成:
  1. 分布式数据库(DDB)
  2. 分布式数据库管理系统(DDBMS)
特点:
  1. 物理分布
  2. 逻辑整体
  3. 场地自治:应用程序可直接使用本节点的数据,通过局部数据模式
  4. 场地之间的协作
  5. 数据独立性
  6. 集中与自治相结合的控制机制
  7. 增加适当冗余度
  8. 事务管理分布
优点:
  1. 灵活的体系结构
  2. 分布式的管理和控制机构
  3. 经济性能优越
  4. 系统可靠性、可用性高
  5. 局部应用的速度快
  6. 可扩展性好
缺点:
  1. 开销大
  2. 复杂的存取结构
  3. 安全性、保密性难
分类:
  1. 同构同质DDBS:各个场地都采用同一类型的数据模型,用同样的DBMS
  2. 同构异质DDBS:同一类型数据模型,不同的DBMS
  3. 异构DDBS:不同数据模型,不同DBMS
2. 分布式数据库的体系结构
存储:先数据分片再数据分配
  1. 数据分片
    关系:
      S(SNO,SNAME,AGE,SEX)
      SC(SNO,CNO,GRAGE)
    1水平分片:
      元组划分为不相交的子集,通过对全局关系进行选择Select获得
    DEFINE FRAGMENT SHF1
        AS SELECT * FROM S  WHERE SEX = "M";
    DEFINE FRAGMENT SHF2
        AS SELECT * FROM   S  WHERE  SEX = "F";
    2垂直分片:
      属性集划分为若干子集,在子集上做投影Project可获得全局关系,要求:每个子集都包含全局的键,全局的属性都至少属于一个子集
    DEFINE FRAGMENT SVF1
        AS SELECT SNO,AGE,SEX FROM S;
    DEFINE FRAGMENT SVF2
        AS SELECT SNO,SNAME FROM S;
    3导出分片:选择条件是别的表里的属性
    DEFINE FRAGMENT SHF3
        AS SELECT * FROM SC
            WHERE SNO IN
            (SELECT SNO FROM S WHERE SEX = "M");
    4混合分片:上三种的混合
    DEFINE FRAGMENT SHF1
        AS SELECT SNO,SNAME FROM SHF1
    DEFINE FRAGMENT SHF2
        AS SELECT * FROM SVF1 WHERE SEX = "M"
    划分要求:完备性、可重构性、不相交性(垂直分片的键除外)
  2. 数据分配(数据分布)
    方式:集中式、分割式、全复制式、混合式
6层模式的体系结构:
  • 全局外模式
  • 全局概念模式
  • 分片模式
  • 分配模式
  • 局部概念模式
  • 局部内模式
  • 局部数据库
6层模式的特征:
  1. 数据分片与数据分配概念的分离
  2. 数据冗余的显式控制
  3. 局部DBMS的独立性
分布透明性:
  • 全局外模式-逻辑数据独立性-全局概念模式
  • 全局概念模式-分片透明性-分片模式
  • 分片模式-位置透明性-分配模式
  • 分配模式-局部数据模型透明性-局部概念模式
  • 局部概念模式-物理数据独立性-局部内模式
  • 局部数据库
  1. 分片透明性:用户编写程序只需对全局关系进行操作,不许知道分片以及场地
  2. 位置透明性:用户编写程序时必须指明分片,但无需指明场地
  3. 局部数据模型透明性:用户编写程序时必须指明分片以及场地,但无需了解场地使用的是何种数据模型
  4. 复制透明性:部分数据有多个副本,用户不需要知道这些副本的所在
DDBS组成:
  1. DB:LDB,GDB
  2. DD:LDD,GDD
  3. DBMS:LDBMS,GDBMS
  4. 用户:全局用户,局部用户
  5. DBA:全局DBA,局部DBA
DDBMS功能:
  1. 接受用户请求
  2. 访问网络数据字典DD
  3. 分布式处理
  4. 通信接口功能:用户和局部DBMS之间的协调
  5. 进程移植(异构型系统中)
DDBMS模块:
  1. 查询处理模块
  2. 完整性处理模块
  3. 调度处理模块
  4. 可靠性处理模块
3 分布式数据库的查询优化

查询代价的估算方法

  • 集中式DBS中:QC=CPU代价+I/O代价
  • 分布式DBS中:QC=CPU代价+I/O代价+通信代价
  • 通信代价 = C0+C1X,其中C0,C1为系统相关的常量,X为传输数据量
联接策略:
  1. 基于半联接的优化策略
  2. 基于联接的优化策略
基于半联接的优化策略:
  • 思想:网络中只传输参与联接的数据
  • 例:场地1有R关系,场地2有S关系,若在场地2要计算S join R,半联接程序如下:
    1 场地2计算S在公共关系B上的投影ΠB(S)
    2 把ΠB(S)传输给场地1, 
    3 场地1计算R' = R join ΠB(S)
    4 把R'传输给场地2
    5 场地2执行R' join S
基于联接的优化策略:
  • 两个关系在同一场地:循环嵌套、排序扫描
  • 两个关系在不同场地:整体传输、按需传输
4 分布式数据库的管理方法
分布事务管理
分布式数据库中事务一样具有ACID:原子性、一致性、隔离性和耐久性
还需有额外几个特性:
  1. 执行特性:各个子事务直接的协调
  2. 操作特性:在存取操作之外增加通信原语,协调各个子事务之间的数据传输
  3. 控制报文:
分布式数据库的故障:
  • 事务故障:错误输入输出等
  • 系统故障:死循环、缓冲满等
  • 介质故障:磁盘损坏等
  • 网络故障:节点故障、通信故障、报文故障
事务故障的恢复和恢复原则
  • 日志+档案库+检查点
  • 恢复原则:
    1孤立和逐步退出事务原则
    2成功结束事务原则
    3夭折事务原则
两阶段提交协议:
  • 系统包括协调负责者和参与者,协调者有权提交或撤销事务
    1协调者要求所有参与者准备提交(PREPARE)
    2协调者根据参与者的回答进行决定:
    只要有一个参与者撤销事务(ABORT),则协调者全局撤销
    只有所有参与者都同意提交事务(READY),协调者才全局提交(COMMIT)
三阶段提交协议:
  • 前两部与两阶段提交协议一样
  • 若有参与者ABORT则进入第三阶段
5 WWW技术与数据库技术的结合
WWW与数据库的交互方法:
  1. CGi 公共网关接口: 浏览器—WEB服务器—CGI—数据库
    缺点:无状态管理功能,效率低
  2. JDBC:java的数据库访问API
  3. API
动态Web网页和开发:
  • 动态信息包括:1动态数据 2动态页面 3动态内容
  • 动态网页的特点:交互性、自动更新、个性化
  • 构建技术:CGI、ASP、JSP、Servlet、PHP
6XML
可扩展标记语言,优点:可扩充性、灵活性、自描述性、环境无关性
模板驱动:<SelectStmt></SelectStmt>中嵌入SQL语句,生成文件时其中内容有SQL查询结果替代
数据模型:表格、对象

 

Leave a Reply

Your email address will not be published. Required fields are marked *