数据库系统实现学习笔记——分布式数据库系统与数据集成
文章目录
标签: 数据库
分布式数据库
基本定义
- 分布式数据库=数据库+计算机网络
- 定义:D-DBS是一个数据集合,这些数据,分布在计算机网络的不同计算机上,网络中每个结点具有独立处理的能力,可以执行局部应用,同时每个结点也能通过网络通讯支持全局应用。
- 分布式数据库强调场地自治性(局部应用)以及自治场地之间的协作性(全局应用):“在自治的结点之间协同工作”
基本特性
- 分布性:分布在不同场地上
- 逻辑整体性:数据逻辑上是相互联系的一个整体
数据在分布式数据库的存储途径有
- 复制:系统维护管理的几个完全相同的副本,这些副本分布在不同的结点上
- 分片:关系被划分为几个片段,各个片段存储在不同的结点上
- 复制+分片:关系被划分为几个片段,系统为每个片段维护几个副本
数据分片的四种方式
好处:将关系分片,有利于按用户需求组织数据的分布
- 水平分片
- 将关系r按行分为若干子集r1,r2等,每个子集称为一个水平片段
- 一个水平片段可以看成关系上的一个选择
- 关系的重构可以通过并运算来实现
- 垂直分片
- 将关系r按列分为若干子集r1,r2等,每个子集成为一个垂直片段
- 一个垂直片段可以看成关系上的一个投影
- 关系的重构可以通过连接运算来实现
- 导出分片:导出水平分片,分片的条件不是关系本身属性条件,而是其他关系的属性条件
- 混合分片:关系按某种方式分片后,得到的片段再按照另一种方式继续分片
分布(网络)透明性
分片透明性
- 用户或应用程序只对全局关系进行操作而不必考虑关系的分片
- 如果分片模式改变了,则通过调整全局模式与分片模式之间的映象关系来保持全局模式不变
位置透明性
用户或应用程序不必了解片段的存储位置
局部数据模型透明性
用户或应用程序不必了解局部场地上使用的是哪种数据模型
分布式数据库中数据访问的瓶颈
- 网络传输速率(带宽)
- 磁盘IO
半连接的实现方法
- 半连接:在连接之前先做选择和投影(只传输有用的数据项)
数据集成
信息集成系统
- 集成多数据源提供数据集成服务的系统
- 用户只需关系他们所要访问的数据而不必关心以何种方式去实现这些数据访问
- 数据集成系统提供底层数据源所存储数据的一个集成模式,使得应用可以统一地访问所有这些数据源,就是存储在单一的数据库中
信息集成的三个方面的问题
数据集成的三种体系结构
中介器-包装器
- 概念:实现多信息源集成访问的虚拟视图方法,集成系统在用户提出查询时,按需访问数据源。也称为惰性集成方法
- 包装器
- 在不同数据模型之前翻译
- 克服技术异质性
- 补偿信息源缺失的处理能力
- 中介器
- 接受用户基于统一的中介模式提出的查询,并将他分解为对于各信息源基于其抽象描述(内容与能力等)的子查询——产生初始执行计划
- 基于信息源描述优化执行计划
- 发送子查询到各信息源包装器,后者将它们变化成基于各信息源本地模型和模式的子查询
- 接收由各信息源包装器所返回的子查询,并将它们合并为对用户查询的回答
数据仓库方法
- 数据仓库:来自多个数据源的数据提前抽取并存储在数据仓库中,也称为积极集成方法
- 适用:
- 对于集成信息要求高的响应速度和可用性
- 返回频率高
- 涉及复杂查询计算:诸如OLAP及数据挖掘
- 主要特性:
- 数据仓库本身是只读的,但需要随着信息源变化而不断刷新,从而按适当的方式保持与信息源的一致性——数据仓库维护
- 包装器除了需要完成技术及模型异质性消解外,需要为数据仓库维护提供支持,与信息源监视器协同工作向集成器提供信息源变化通知,与信息源抽取器协同工作向集成器提供新的快照
- 集成器在包装器支持下实现数据仓库刷新
联邦式数据库系统
- 在多个信息系统自检共享数据的一种组织形式,每个参与信息系统可以访问其他参与系统来获取数据
- 紧耦合FDBS:共享统一的全局模式
- 存在可以明显区分的某个数据集合需要在多个参与系统之间共享地操作
- 理想的全局完整性要维护事务ACID性质
- 紧耦合FDBS演变机器困难
- 松散型FDBS:不存在统一的全局模式
- 具有较高自治性,主要问题是处理异致性
- 基本方式是提供一个统一的多数据库语言实现互访或多数据库联合查询
- 各参与系统可以根据自身应用需要各自建立自己的某个全局模式,并使用基于全局模式-信息源模式映射的查询重写支持透明的多数据库集成访问-包装器中介器结构