【数据库系统工程师】第14章 数据库主流应用技术


思维导图

在这里插入图片描述

14.1 分布式数据库

1.基本概念

○ 正常运行策略
■ 系统组成图
在这里插入图片描述

■ 定义
● 满足下面条件的数据库系统被称为完全分布式数据库系统: (1)分布性:即数据存储在多个不同的节点上。 (2)逻辑相关性:即数据库系统内的数据在逻辑上具有相互关联的特性。 (3)场地透明性:即使用分布式数据库中的数据时不需指明数据所在的位置。 (4)场地自治性:即每一个单独的节点能够执行局部的应用请求。
○ 特点
■ 数据的集中控制性
■ 数据独立性
■ 数据冗余可控性
■ 场地自治性
■ 存取的有效性

2.体系结构

○ 模式结构
■ 结构模式图
在这里插入图片描述

■ 四层模式
● 全局外层
● 全局概念层
● 局部概念层
● 局部内层
○ 数据分布
■ 集中式
■ 分割式
■ 复制式
■ 混合式
○ 数据分片
■ 方法
● 水平分片
● 垂直分片
● 水平和垂直结合的分片
■ 遵守规则
● 完备性条件
● 可重构条件
● 不相交条件
○ 分布透明性
■ 分片透明性
■ 分配透明性
■ 局部数据模型透明性
○ 分布式数据库管理系统
■ 分类
● 综合型
● 联合型
■ 遵循的12条准则,满足则称为完全的分布式管理系统
● (1)本地自治性; (2)不依赖于中心站点; (3)可连续操作性; (4)位置透明性和独立性; (5)数据分片独立性; (6)数据复制独立性; (7)分布式查询处理; (8)分布式事务管理; (9)硬件独立性; (10)操作系统独立性; (11)网络独立性; (12) DBMS独立性。
■ 组成
● (1)LDBMS,局部场地上的数据库管理系统,其功能是建立和管理局部数据库, 提供场地自治能力,执行局部应用及全局查询的子查询。
● (2)GDBMS,全局数据库管理系统,主要功能是提供分布透明性,协调全局事务的执行, 协调各局部数据库管理系统以完成全局应用,保证数据库的全局一致性,执行并发控 制,实现更新同步,提供全局恢复功能等。
● (3)全局数据字典(Global Data Directory, GDD)
● (4)通信管理( Communication Management, CM )
● 结构图
在这里插入图片描述

3.分布式查询处理和优化

○ 针对查询执行代价的优化
○ 针对查询响应时间的优化

4.分布事务管理

○ 分布式事务
■ 可以把一个分布式事务看成是由若干个不同站点上的子事务组成
○ 分布式事务的特性
■ 原子性
■ 可串行性或一致性
■ 隔离性
■ 持久性
■ 与传统事务的区别特性
● 执行特性
● 操作特性
● 控制报文
○ 分布式数据库故障
■ 介质故障
■ 系统故障
■ 事务故障
■ 网络分割故障
■ 报文故障
■ 故障分类图
在这里插入图片描述

○ 分布式数据库的恢复原则
■ 孤立和逐步退出事务的原则
■ 成功结束事务原则
■ 夭折事务原则
○ 两阶段提交协议
■ 表决阶段
■ 执行阶段
■ 活动图
在这里插入图片描述

○ 两阶段提交协议对故障的恢复
■ 场地故障
■ 报文丢失故障
■ 网络分割故障
○ 三阶段提交协议
■ 3PC协议的提交过程为: 第一阶段,协调者向所有的参与者发“准备提交”报文,由每个参与者据自己的情况进行 投票,只有所有的参与者回答“建议提交”才进入第二阶段。 第二阶段,协调者向所有的参与者发“全局预提交”报文,参与者收到该报文后若已经准 备好提交,则回答“准备就绪”报文,否则进行撤销处理。 第三阶段,协调者收到所有的参与者“准备就绪”回答后,就向所有的参与者发“全局提 交”报文,此时每个参与者都知道其他的参与者赞成提交,因此它可以收到“全局提交”报文 后进行提交。
■ 3PC可以避免阻塞是基于一定的故障模型的,如果发生了网路分割故障,采用3PC协议同 样存在问题,没有一种协议能够解决所有的故障,3PC协议仅仅是降低了阻塞发生的可能性, 但不是完全的非阻塞协议。
○ 三阶段提交协议对故障的恢复

5.新型分布式海量数据库

○ BigTable

14.2 Web 与数据库

1.Web概述

○ Web数据库
■ 也叫网络数据库。一个Web数据库就是用户利用浏览器作为输入接口,输入所需要的数据,浏览器将这些数 据传送给网站,由网站对这些数据进行处理。
○ WWW网络环境下的Web数据库
■ 当前比较流行的Web数据库:SQL Server、Oracle、MySQL

2.Web服务器脚本程序与服务器接口

○ 连接方案
■ 服务器端
● 实现技术有CGI、SAPI、ASP、PHP、JSP等
■ 客户端
● 实现技术有JDBC (Java Database Connectivity)、DHTML (Dynamic HTML)等
○ 连接数据库常用方法
■ ODBC
■ DAO
■ RDO
■ ADO

3.CGI的应用

4.ASP的应用

5.Servlet和JSP的应用

14.3 XML 与数据库

1.什么是 XML

○ XML ( Extensible Markup Language),意为可扩展的标记语言。XML是一套定义语义标 记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义 了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。
XML文件存储面临的问题
○ 大小
○ 并发性
○ 工具选择
○ 版本
○ 安全
○ 综合性:集中和重复

2.XML 与数据库的数据转换

○ 表格模型
○ 特定数据对象模型

14.4面向对象数据库

1.面向对象数据库系统的特征

○ 面向对象数据库系统应该具有表达和管理对象的能力
○ 面向对象数据库系统中的对象可以具有任意复杂度的对象结构
○ 面向对象数据库系统必须具有与面向对象编程语言交互的接口
○ 面向对象数据库应具有表达和管理数据库变化的能力

2.面向对象数据模型

○ 对象结构
○ 对象类
○ 继承和多重继承
○ 对象标识
○ 对象嵌套

3.面向对象数据库语言

○ 具备的功能
■ 类的定义和操纵
■ 操作/方法的定义
■ 对象的操纵

4.对象关系数据库系统

○ 嵌套关系
○ 复杂类型
○ 继承、引用类型
○ 与复杂类型有关的查询
○ 函数与过程
○ 面向对象与对象关系

14.5大数据与数据库

1.大数据之数据仓库的设计

○ 粒度划分
○ 数据分割

2.数据转移技术

○ 简单转移
○ 清洗
○ 集成
○ 聚集和概括

3.数据仓库的主要应用场景-联机分析处理(OLAP)

○ 基本概念
■ 变量
■ 维
■ 维的层次
■ 维成员
■ 多维数组
■ 数据单元

4.数据库主要应用场景-联机事务处理(OLTP)

○ OLAP和PLTP对比
在这里插入图片描述

14.6 NewSQL 数据库

1.NewSQL数据库的发展

○ 新架构
○ SQL 引擎
○ 数据分片

2.TiDB 的介绍

○ TiDB集群架构
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u012069313/article/details/124775395
今日推荐