1 / 39

第五章 分布式数据库概述

第五章 分布式数据库概述. 目录. 数据库系统发展 集中式系统 为什么需要分布式系统 分布式数据库体系结构的目标 并行与分布式数据库系统 分布式数据库的问题 分布数据独立与分布透明访问. 数据库系统发展. 基于数据模型 数据结构 , 操作 层次 , 网状 , 关系 , OO, 时态 , 空间 , 图 , 时空 , 文本 , 工程 , 生物 , 地理 , 图像数据库等 基于运行环境 集中式 , 分布式 , 并行 , Cluster, Web, 移动 , 嵌入 , 数据网格等数据库 主动 , 实时数据库等 事务处理.

Download Presentation

第五章 分布式数据库概述

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第五章分布式数据库概述

  2. 目录 • 数据库系统发展 • 集中式系统 • 为什么需要分布式系统 • 分布式数据库体系结构的目标 • 并行与分布式数据库系统 • 分布式数据库的问题 • 分布数据独立与分布透明访问

  3. 数据库系统发展 • 基于数据模型 • 数据结构, 操作 • 层次, 网状, 关系, OO, 时态, 空间, 图, 时空, 文本, 工程, 生物, 地理, 图像数据库等 • 基于运行环境 • 集中式, 分布式, 并行, Cluster, Web, 移动, 嵌入, 数据网格等数据库 • 主动, 实时数据库等 • 事务处理

  4. 数据库系统 • 数据库-可以存储长时间的信息集合 • 数据库管理系统-允许用户使用专门的数据定义语言和操作语言, 支持超大数据量数据的长时间存储,并能正确控制多个用户对数据的立即存取的软件 • 用户- 包括DBA, 终端用户, 应用程序员等

  5. 应用程序 SQL 查询处理器 事务处理器 文件访问 集中式数据库系统 P 软件: M ... • 简化 • 单个前端接口 • 集中维护锁 • 如果处理器故障,则系统故障 ...

  6. 分布式数据系统 • 定义: 物理上分散而逻辑上集中的数据库系统. • 特点 • 物理分布性 数据不在单个Site上, 按全局需求将数据划分成一定的数据子集, 分散存储在各个Site上. • 逻辑整体性 各个Site上的数据子集, 相互间有严密的约束规则加以限定, 逻辑上是一个整体. • 站点自治性 各个Site上的数据(即LDB)是有本地的DBMS管理, 具有自治处理能力.

  7. 为什么需要分布式数据库 • 举例: • 某大公司分别在 London, New York及 北京有分公司. • 职工数据: EMP(ENO, NAME, TITLE, SALARY, …) • 问题: • 该职工数据表数据应该如何存储

  8. 职工数据的访问方式 • 大多数情形, 职工数据被其服务的各分公司管理 • E.g. 工资, 福利, 聘用与解聘 • 定期地, 总公司统一地访问职工数据 • E.g. 总公司修改影响所有职工的利益计划 • E.g. 根据公司的全体净利润, 销售确定年终分红与公司发展计划的等

  9. Internet New York Payroll app London Payroll app EMP London New York Bei Jing Payroll app 纽约和北京的应用 运行很慢! Bei Jing

  10. Internet New York Payroll app London Payroll app London Emp NY Emp London New York Bei Jing Payroll app 较好!! Bei Jing BJ Emp

  11. Internet New York Payroll app London Payroll app Annual Bonus app London Emp NY Emp London New York Bei Jing Payroll app 分布为并行执行 提供了可能性 Bei Jing BJ Emp

  12. Internet New York Payroll app London Payroll app Annual Bonus app London Emp NY Emp London New York Bei Jing Payroll app 故障, 降低了 可用性 Bei Jing BJ Emp

  13. Internet New York Payroll app London Payroll app Annual Bonus app Lon, NY Emp NY, BJ Emp London New York Bei Jing Payroll app 复制增加了可用性 Bei Jing BJ, Lon Emp

  14. 异构与自治 选择新的投资 应用 证卷票据 tape Files RDBMS

  15. 同构型(Homogeneous) 各个Site上的DB数据模型相同, 进一步可分为 同构同质型 和 同构异质型 • 异构型(Heterogeneous) 各个Site上的DB数据模型不同. • 集中型 DDB的全局控制信息位于一个中心Sie上 • 分散型 每个Site上包含有全局控制信息的一个Copy • 可变型 DDB分成两组, 一组Site包含全局控制信息Copy(主Site), 另一组不含全局Copy(辅Site)

  16. 因此, 分布式数据库是要考虑在具有多处理器并可能是自治,异构情况下的数据管理 • 受影响的内容有: • 数据组织 • 查询处理 • 存取结构 • 并发控制 • 恢复处理

  17. 分布式数据库体系结构的目标 • 可伸缩性 • 可用性 • 负载平衡 • 易于编程

  18. 分布式体系结构 (1) 共享内存 P P P ... M

  19. P P P M 分布式体系结构-续 (2) 共享磁盘 ... M M ...

  20. P P P M M M 分布式体系结构-续 (3) 不共享 ...

  21. 全局外层 全局概念层 网络 局部概念层 CM GDMBS LDBMS 局部内层 DDB 体系结构 • 四层结构 • 组成 GDD GDB LDD LDB

  22. DDBMS的一 般功能结构 用户查询 系统 DD 数据 定位 需要的 数据 完整性 处理模块 查询处理模块 查询分析 实际的 数据 优化算法 可靠性 处理模块 局部处理命令 分布策略 错误 LDBMS 调度处理模块 对网络的 监视信息 数据 网络 DB CM

  23. 用户 用户 用户结果 用户命令 用户结果 用户命令 用户处理器1 ………. 用户处理器n 规范化数据 规范化命令 规范化数据 规范化命令 全局数据库控制和通讯系统 规范化数据 规范化命令 规范化数据 规范化命令 数据处理器1 ………. 数据处理器n 数据库1 数据库n DDBMS的参考模型

  24. 选择体系结构的其他因素 • 数据的地域分布 • 数据 “聚类” • 代价

  25. 数据库 数据库 数据库 本地DBMS 本地DBMS 本地DBMS 本地模式 本地模式 本地模式 本地模式 全局模式 全局模式 全局模式 全局模式 用户类4 用户类1 用户类2 用户类3 全局模式与本地模式

  26. 并行与分布式DB系统 • 相似性大于差异性! • 并行DB • 高速连接 • 同构软件 • 高性能与透明是其主要目标 • 分布式DB • 地域分布 • 数据共享是目标 (可以运行在异构, 自治环境) • 操作可能不连惯

  27. 分布式数据库的问题 • 分布式DB设计 • 决定什么数据存放在何处 • 依赖于主要应用的访问方式 • 两个子问题: • 分段(Fragmentation): 将表分割成段 • 分配(Allocation): 将段放置到站点

  28. 分布式数据库的问题 • 分布式查询处理 • 集中式查询计划的目标: 极小化磁盘 I/O • 分布式情形还要考虑: • 通讯代价 • 并行处理的可能性 • 可能存在的查询计划空间大于集中式查询计划空间!

  29. 分布式数据库的问题 • 分布式并发控制 • 事务跨越多个站点 • 必须是全局可串 • 两种主要技术: • Locking • Timestamps • 分布式死锁管理 • 数据多副本 – 更新时需要保持同步

  30. 分布式数据库的问题 • 分布式数据库的可用性 • 集中式的故障模型: • 处理器故障 • 分布式的故障模型: • 一个或多个处理器故障 • 网络故障 • 网络分割 • 数据必须保持同步

  31. 分布式数据库应用举例 • 假定在广州的用户给出如下查询:采摘葡萄地区的降雨量Rain>1700mm的葡萄酒的名字,年份,及采摘区的日照信息. • 已知 wine(year, name, producer, area, country) weather(year, area, country, sun, rain) 另已知 wine表数据根据其country值分别存放在巴黎, 罗马, 旧金山. Weather表数据分拆为weather-R(year, area, country, rain) 存放在北京和weather-S(year, area, country, sun)存放在广州. • 两种处理方式

  32. 分布式数据库应用举例-续 • 将weather-R发送到巴黎, 罗马, 旧金山, 在各地连接后, 将其结果送到广州用户处.  = 3*18000+400+800+200 = 55400bytes • 将 wine-F, wine-I, wine-U 送到北京, 连接处理后, 结果送到广州用户处.  = 12000+15000+20000+1400 = 48400bytes

  33. 分布数据独立 • 数据独立性 数据库系统的主要目标之一 • 数据逻辑独立 • 数据物理独立 • 数据分布独立 用户(程序)使用DDB如同使用集中式DB那样不必关心全局数据的分布情况 • 分片透明性 • 位置透明性 • 局部数据模型透明性 • 无透明性

  34. 例子 简单查询 从终端接受一个供应商号, 查询该供应商的名字. 已知分段: Supplier 分成 Supplier1 和Supplier2 分配: Supplier1 在 Site1 Supplier2 在Site2和Site3上 (1) 分段透明 Read (Terminal, $S#) SELECT sname INTO $sname FROM Supplier WHERE s#=$S#; Write(Terminal, $sname);

  35. (2) 位置透明 Read(Terminal, $S#); SELECT sname INTO $sname FROM Supplier1 WHERE s#=$S#; if not found THEN SELECT sname INTO $sname FROM Supplier2 WHERE s#=$S#; Write (Terminal, $sname);

  36. (3) 本地映射透明 Read(Terminal, $S#); SELECT sname INTO $sname FROM Supplier1 AT Site1 WHERE s#=$S#; if not found THEN SELECT sname INTO $sname FROM Supplier2 AT Site2 WHERE s#=$S#; Write (Terminal, $sname);

  37. (4) 无透明 Read(Terminal, $S#); EXECUTE $SUPIMS($S#, $FOUND, $sname) AT Site1; IF not found THEN EXECUTE: $SUPCODASYL($S#, $FOUND, $sname) AT Site2; Write(Terminal, $sname);

  38. 参考教材 • <分布式数据库系统及其应用> 科学出版社 邵佩英 • <数据库系统全书> 机械工业出版社 岳丽华等译 2003年

  39. 参考教材 • <Distributed Database System> Ceri 1984 • <分布式数据库系统> 陈建荣 1992 • < 分布式数据库系统实现> 周龙骧 1998 • <分布式数据库> 郑振楣 1999 • M. Tamer Ozsu and Patrick Valduriez, "Principles of Distributed Database Systems," Second Edition, Prentice Hall 1999.

More Related