分布式数据库系统的设计.ppt

上传人:xt****7 文档编号:5332040 上传时间:2020-01-26 格式:PPT 页数:60 大小:368KB
返回 下载 相关 举报
分布式数据库系统的设计.ppt_第1页
第1页 / 共60页
分布式数据库系统的设计.ppt_第2页
第2页 / 共60页
分布式数据库系统的设计.ppt_第3页
第3页 / 共60页
点击查看更多>>
资源描述
1 分布式数据库系统的设计及RMI简介 姚易简婕王伟 2 课本知识目录 2 1分布式数据库系统设计概述2 5自底向上设计分布式数据库2 2自顶向下设计分布式数据库2 3DATAID D方法2 4实例研究 飞机订票系统 3 2 1分布式数据库系统设计概述 1分布式数据库系统定义2分布式数据库设计的目标3分布式数据库系统设计的内容4分布式数据库系统的创建方法5分布式数据库设计的方法 4 2 1 1分布式数据库系统定义 分布式数据库系统中的数据是物理分布在用计算机网络连接起来的各个站点上 每一个站点是一个集中式数据库系统 都有自治处理的能力 完成本站点的局部应用 而每个站点上的数据并不是互不相关的 它们构成一个逻辑整体 统一在分布数据库管理下 共同参与并完成全局应用 并且分布式数据库系统中的这种 分布 对用户来说是透明的 也就是说 本地与远程结合的 接缝 是被隐蔽的 用户几乎感觉不到远程与本地结合的接缝的存在 即 一个分布式系统应该看起来完全像一个非分布系统 5 2 1 2分布式系统设计的目标 1分布式数据库的本地性或近地性尽可能减少站点之间的通信次数和通信量2控制数据的适当冗余考虑到本地性 并发性 可靠性 一致性 开销等3工作负荷分布充分利用每个站点计算机的能力和资源提高性能4存储的能力和费用 6 2 1 3分布式数据库系统设计的内容 相类似于集中式数据库设计 数据库 应用数据库设计 全局模式设计 局部模式设计关键点 全局模式如何划分并映射到站点新设计问题 数据的分片 片段的位置分配需求增加 各个应用的发出点 各个应用在每个站点被激活的频率 各个应用对访问对象的每个数据对象的访问次数 类型和统计分析 7 2 1 4分布式数据库系统的创建方法 组合法 自底向上的创建方法 8 2 1 4分布式数据库系统的创建方法 重构法 自顶向下的创建方法 9 2 1 5分布式数据库设计的方法 自顶向下方法 从头开始设计自底向上方法 聚集现存数据库然而 许多情况下 设计者都是一部分使用自顶向下方法 另一部分使用自底向上方法GOON 分别详述这些方法 10 2 2自底向上设计分布式数据库 1构造全局模式的设计问题2构造全局模式的解决方法3自底向上综合的一个示例 11 2 2 1构造全局模式的设计问题 在异构分布式数据库设计中特别重要 1选择公有数据库模型来描述数据库的全局模式2把每个站点上的本地模式翻译成公有的数据模型3把各站点上本地数据模式集成一个公有的全局模式 12 2 2 2构造全局模式的解决方法 1识别相似性2识别冲突 命名冲突 域差异 定标差异 结构差异3处理操作期间的不一致性4经典解法是生成三个实体 一个具有共同属性另两个具有非相交属性 13 2 2 3自底向上综合的一个示例 问题 假设已存在两个飞机订票系统A和B 可供查询各自班机的可用情况 二者有不同的概念模型 现需要将这两个系统合为一个分布式数据库系统 以便从两个公司的任一办公室能查询班机的可用情况 结果 综合后建立起来的全局模式中 有一个概括分层被用来表示两个子类型班机A和班机B 值得注意的是 对两个局部模式 应以不同的方法翻译一个需要有关班机从一给定机场起飞的信息的查询 14 2 2 3自底向上综合的一个示例 15 2 2 3自底向上综合的一个示例 16 2 2 3自底向上综合的一个示例 17 2 3自顶向下设计分布式数据库 1自顶向下设计分布式数据库的步骤和内容2数据的分片设计3数据库片段的位置分配设计 18 2 3 1步骤和内容 集中式 需求分析概念设计逻辑设计物理设计分布设计 位于逻辑设计与物理设计之间 以一个全局的与站点无关的模式作为输入 以产生分布式数据库各站点的子模式为结果输出 包括数据的分片设计和片段的位置分配设计分片 把一全局对象 实体或关系 细分成若干逻辑片段的过程分配 把各片段映射到一个或多个站点的过程 片段是最合适的数据分配单位 19 2 3 2数据的分片设计 基本目标 产生一个对全局数据合适的划分方案 这种方案得到的片段作为分布式数据库中数据的分配和存储单位 不但能够减少应用中的操作量 而且能够对于应用具有最大可能的本地性 即使得各片段位于其使用最多的站点 或者说 使用绝大多数应用所使用的数据位于该应用的原发始点 当分片的好处太小 不足以补偿分片造成的开销时 不必要分片 20 分片方法 水平分片垂直分片混合分片遵守规则 完整性可重构不相交水平分片 对全局关系执行 选择 操作 可以具体分为初始分片和导出分片两种垂直分片 对全局关系执行 投影 操作 组之间必须只在某个键属性上重叠 而垂直群集的组在其他属性上也可以重叠 2 3 2数据的分片设计 21 数据片段位置分配的方法1非冗余分配 估算每种分配后选择最佳冗余分配 2所有得益站点法 非复制问题的解 若干唯一复本3附加复制法 非复制问题的解 从最有益处起逐步附加复本 直至无明显好处 2 3 3数据库片段的位置分配设计 22 数据片段分配的费用和得益估算假定i表示片段的下标j表示站点的下标k表示应用的下标Fkj表示应用k在站点j上被激活的频率Rki表示应用k被激活一次 对片段i进行检索访问的次数Uki表示应用k被激活一次 对片段i进行更新访问的次数Nki Rki Uki表示应用k被激活一次 访问片段i的总次数 2 3 3数据库片段的位置分配设计 23 水平分片情况1非冗余分配 将片段分配到访问次数最多的站点 2 3 3数据库片段的位置分配设计 2所有得益站点 本站点的应用的检索访问费用总比任何一个其他站点发出的应用对该片段进行更新访问的费用要低 3附加复制法 Dj表示片段Ri冗余度 Fi表示Ri在每个站点都复制的得益 24 2 3 3数据库片段的位置分配设计 垂直分片情况假定把站点r上的关系R垂直分成两个片段Rs和Rt 并将Rs和Rt分别分配在站点S和t 然后将应用分组并估算它们的利益情况 25 2 3 3数据库片段的位置分配设计 垂直分片情况1应用组As 自站点s发出 它们只使用Rs 因而是本地应用 得益 2应用组At 自站点t发出 它们只使用Rt 因而是本地应用 得益 3应用组A1 自r发出 原使用Rt或Rs 现在需要一次额外的远程访问 损失 4应用组A2 自r发出 原来使用R 现在需要两次额外的远程访问 损失 5应用组A3 与r s t不同 访问Rs和Rt 现需一次额外的远程访问 损失 26 2 3 3数据库片段的位置分配设计 垂直群集情况与垂直分片的情况类似 只是要注意检索及更新要同时涉及到Rs和Rt了GOON 详述自顶向下法中的一个具体方法 DATAID D方法以飞机订票系统为例讲述分布式数据库系统设计 27 2 4DATAID D方法 2 4 1DATAID D方法概述2 4 2分布要求分析阶段2 4 3分布设计阶段 28 2 4 1DATAID D方法概述 是自顶向下设计分布式数据库的一个典型方法 由意大利米兰工业大学提出 作为集中式数据库设计DATAID 1方法论的扩充而构造的 集中式数据库设计的四个阶段需求分析 概念设计 逻辑设计和物理设计 增加两个阶段 分布要求分析阶段和分布设计阶段 29 DATAID D方法的分布式数据库设计步骤 30 主要设计步骤简要概述 需求分析需求分析简单地说就是分析用户的要求 概念设计将需求分析得到的用户需求抽象为信息结构即概念结构设计 如画 图 逻辑设计将E R图转换为相应的数据模型相符合的逻辑结构 如关系模型 31 主要设计步骤简要概述 物理设计确定数据库的物理结构 对物理结构进行评价 分布要求分析收集关于分布的信息 如水平分片的划分谓词每一应用在各站点激活的频率等 分布设计产生全局数据的分片模式和片段的位置分配模式 分配模式描述了分配在各站点上的数据情况 32 2 4 2分布要求分析阶段 目的 收集以后用于推动分布设计所需要的信息输入 用户对分布的要求和全局数据概念模型与操作模式输出 应用的频率表 实体的划分表和数据与应用的极化表 33 三种类型的表 1 频率表给出各站点上每一应用激活次数 这里假设所有应用在所有站点上都有可能执行2 划分表指明可使用于模式中各实体的潜在水平分片规则 3 极化表基于定量分析方法来说明分片如何影响着应用处理的本地性 一个极化值表指明由一给定站点发出的一给定应用访问一给定片段的概率 34 2 4 3分布设计阶段 目标 从全局数据模式 逻辑访问表和分布要求出发 将数据分配在站点上 输出 各站点的逻辑模式和逻辑访问表 包括四个阶段 分片设计 非冗余分配 冗余分配和局部模式的重新构造 35 分片设计 分片设计对实体进行水平分片和垂直分片 以便为以后设计阶段确定可能的分配单位 要使每一片段是一个合适的分配单位 就必须保证由各站点上执行的各应用 大约以同一方式 即相同频率 访问在片段中的事例 元组 分片设计主要包括逻辑判定 进行逻辑判定时 从极化表中选择某些谓词 并用它们定义逻辑片段 36 目标 是把各片段映射到使用该片段最多的站点上 问题 如何识别最频繁访问该片段的站点 方法 根据频率表与极化表 采用 最佳适应法 令Fij应用i使用站点j的频率 Pijk应用i使用站点j时片段k的极化值于是从站点j访问片段k的次数给出如下 因此 片段k被分配到站点j 使得 非冗余分配 37 冗余分配 冗余分配的执行是使用 贪婪 启发式 可以采用上面已经阐述过的 所有得益站点法 或采用 附加复制法 就是初起使用非冗余分配 在每次迭代时 计算因增加一副本使其变成本地的检索访问的得益与为维护该副本一致性所需要的附加远程修改访问的损失之差值 这个数字是个较大的正数时 把该片段的副本存储到得益站点 否则就不增加 38 局部模式重新构造 局部模式的重新构造是重新构造片段分配站点上的局部模式 这一阶段也负责ER全局模型中的联系分配 大多数联系是作为对应实体标识符间的结合实现的 DATAID D方法建议把联系放置在具有最大基数性的实体或片段的站点上 使得必须传送的实体标识符尽可能少 39 2 5实例研究 飞机订票系统 2 5 1实例研究概述2 5 2飞机订票系统中的分布要求分析2 5 3飞机订票系统中的分布设计 40 2 5 1实例研究概述 这是在飞机订票系统中应用DATAID D方法进行分布式数据库设计的例子 问题 我们要研究的订票系统维护一个分布在三个站点 即机场1 2 3 上的数据库 为使这个系统更形象 考虑在美国开业的一家公司 其中 1 丹佛 代码为CO 位于美国的西部 2 纽约 代码为NY 在北部 3 亚特兰大 代码为GA 在南部 数据库存储有关机场规程 班机调度 班机可用情况和旅客订票等数据 41 飞机订票数据库的全局数据模式 42 飞机订票数据库的全局操作模式 43 订票应用 图2 7 a 每当一新的旅客想预定一班机的机票时 该应用就被激活 在这种情况下 访问数据库中的起飞与到达的机场 起飞与到达时间和班机日期 这些属性在图中标以k 表明它们被用作访问数据的关键词 箭头表明经由两个关系 从 与 到 访问从机场实体到班机实体的进行情况 实体左下角和右下角中的数字分别表示示例总数和由应用选择的平均示例数 一旦确定了班机 就建立旅客实体的一个新的示例及联系订票的一个示例 关于旅客名字 电话和种类 对应于票价 的数据被写入数据库 注意 可用座位属性先读后写 o w o表示输出 w表示写入 问题 示例总数和由应用选择的平均示例总数有何异同 解答 以班机实体为例 图中的数字2000 表示的是班机示例的总的样本空间数 假设在该样本中 a应用发生的次数为n1 b应用发生的次数为n2 c应用发生的次数为n3 那么就有如下等式 2000 3n1 n2 30n3其中 3 1 30分别为应用a b c选择的平均示例数 44 登记应用 图2 7 b 凡旅客实际登机时 先执行登记任务 根据旅客名字和班机号与日期 查明有关旅客和班机的示例 k 属性 然后 显示检索种类信息 o 并根据这一信息和班机座位图 将一座位号分配给旅客 写入座位图和座位号属性 以及旅客的检查行李号 即托运行李的票据号 45 起飞应用 图2 7 c 从机场起飞时的应用 产生描述即将离开该机场的30架班机的起飞信息的报告并显示在TV监视器上 机场符号和当前日期与时间用于标识所涉及的机场和班机实体 对各次班机 从数据库中抽取班机号 起飞时间 出入口 延期和目的地机场符号与城市 使用 到 联系来确定关于目的地机场的信息 在了解这些应用的操作模式之后 对每个实体 需估算应用的定量数据 建立起逻辑访问表 以实体班机为例简要介绍一下 表2 1展示了实体班机的逻辑访问表 46 实体访问表 班机 表中的列对应于操作 行对应于实体属性 矩阵元素表示在对象上所执行的动作类型 o w k 由RA 联系访问 表示的行指明一个联系是否用于访问实体 而由AN 访问数 表示的行给出了在该操作中涉及的示例总数 47 2 5 2飞机订票系统中的分布要求分析 在前面 我们已经了解到分布要求分析阶段的输出是三个表 频率表 划分表 极化表 那么 这三个表的具体内容到底是什么呢 表2 2频率表中说明了在节点1 丹佛 2 纽约 3 亚特兰大 上全局操作模式所描述的应用a b c的频率 48 基本划分表 在这里给出的是实体机场和旅客的基本划分表 设计者将区域属性选作为机场实体的划分准则 而将电话号码前三位 区域码 选作为旅客实体的划分属性 谓词选择性用每一可能的划分属性值给出该实体元组的百分数 49 导出划分表 导出划分 顾名思义 是在基本划分的基础上产生的 在这里我们只考虑基于机场划分为区域的这个基本划分可能产生的导出划分 表2 4中考虑了四种导出划分选择 1 可以用两种方法来划分班机实体 依据联系 从 起飞机场 或 到 到达机场 和基于已把机场分成区域来划分班机实体 2 表的最后两行给出了划分旅客实体的两个方法 依据联系订票和班机 按班机起飞区域或第一订票地点划分 50 导出划分表的注释表 该注释表是对表2 4的注释 其中说明了七种可能情形 旅客可能预定只离开一个区域 A B C 的班机 或离开两个区域 AB BC AC 的班机 或离开所有区域 ABC 的班机 由于订票是一种多对多关系 每个旅客可能多次订票 所以需要以上七种情况 具体如图 51 注意问题 按照分片的定义 现实世界中的每个旅客映射到旅客实体中只有一个实例 为此要注意存在两种可能情形 第一种情形 当旅客进行第一次订票时 静态地给每一旅客示例分配到一个旅客片段中 第二种情形 当某一旅客再次订票时 因为旅客示例到片段的映射是动态的 相应的旅客示例就有可能从一个旅客片段移动到另一个旅客片段 举例说明 若依据旅客各次订票的班机起飞区域来划分旅客 那么可假设某旅客第一次订票的起飞区域为A 示例被分配到片段P1中 而当该旅客又预订一张起飞区域为B的票时 相应的示例就会移动到p4中 52 极化表 表2 6展示了一个极化表 表中的列关系到每一站点上应用的激活信息 表中行关系到划分谓词 一个极化值表指明由一给定站点发出的一给定应用访问一给定片段的概率 在实际的表中 只画出了少数实体 而其余的实体可以通过假设其余示例的一致分布来进行计算 有些应用不使用实体 所以与某些子炬阵不相关 在表中就画上个叉 53 2 5 3飞机订票系统中的分布设计 飞机订票系统中的分布设计由四步组成 1 对每一实体选择分片准则 2 确定非冗余分配 3 在非冗余分配上引入冗余 4 在每一站点上重新构造局部模式下面具体阐述各步要完成的内容与任务 54 分片设计 在分布要求分析阶段中 已给定了一些包含在极化表中的可能有的划分准则 在分片设计时设计者必须为各个实体选择最合适的准则 并确认选定的划分准则自身是方便的 这要求对有关的应用做定量分析 可以把这些应用分成三类 通过划分变得容易的 变得更困难的和不受影响的应用 如果第一类 大于 第二类 那么划分是方便的 在这个实例研究中考虑 1 对于确定分配单位 垂直划分是没有用的 事实上 通过垂直划分 没有哪个应用会明显变得容易些 2 相反地 所有实体都有水平分片 机场实体由一个基于区域的水平分片 片段 机场1 机场2 机场3 班机实体由一个基于起飞机场的导出水平分片 片段 班机1 班机2 班机3 旅客实体有一个基于旅客预定的所有班机起飞的导出水平分片 片段 旅客1 旅客2 旅客3 旅客4 旅客5 旅客6 旅客7 55 非冗余分配 在有些情形中 根据选定的划分准则 容易得出非冗余分配 例如 机场1 班机1和旅客1被直接分配在站点1 同样地 机场2 班机2和旅客2被分配在站点2 机场3 班机3和旅客3被分配在站点3 对于实体旅客的其他片段 必须根据极化表和频率表来选择使用该片段最多的站点 选择方法我们已经在前面阐述过 因此把旅客4 旅客6 旅客7分配到站点2 把旅客5分配到站点3 56 冗余分配 在许多情形中 与冗余有关的代价超出了同一实体所有片段的效益 机场和班机实体就是这种情况 所以对机场和班机实体的所有片段都不进行冗余分配 它们都只存储在一个站点上 对于旅客实体片段 我们引入有限的冗余度 旅客4 旅客5和旅客6 相应于预定离开两个区域的班机的旅客 被存储在两个相应的站点上 同样地 旅客7 包括乘坐离开所有三个区域班机的旅客 被存储在各站点上 以旅客片段为例 57 局部模式的重新构造 这一步主要设计ER全局数据模型的分片和分配 根据上述的片段分配情况 联系 订票 和 登记 碰巧有一自然分配 使得所有连接都是局部的 因为各个旅客在他预定或登记的各站点上都有与该旅客相关联的示例 联系 从 也是自然分配 因为机场和班机实体是根据联系 从 进行水平分段的 因此所有的连接都是局部的 现在讨论联系 到 的分布 因为它连接可能存储在两个不同站点上的实体示例 在解决时 联系 到 示例被存储在与班机实体的相应示例相同的站点上 如图2 8所示 58 59 这种解决办法的最大特征是 通过只查看分配在该班机起飞站点上的数据 就可以回答关于班机的所有请求 为准备班机起飞 也不需要远程信息 这种解决办法的缺点在于 旅客信息重复 并且在进行订票时必须仔细地管理旅客信息 解决办法的优缺点 60 2 6本章小结 2 1分布式数据库系统设计概述2 2自顶向下设计分布式数据库2 3DATAID D方法2 4实例研究 飞机订票系统2 5自底向上设计分布式数据库本章阐述了分布式数据库设计的特点 关键问题及其解决方法和技术 综述了自顶向下和自底向上分布设计方法的理论和技术 主要论述了DATAID D自顶向下设计方法 且举例说明这些方法并做比较
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!