1分布式数据库设计概述 13DDBS设计目标 尽量减少通信次数和通信量,90/10准则 本地性或近地性 分片和分布方案(本地和远程访问次数)择优 冗余增加了可靠性、可用性,提高了效率 DDBS 控制数据适当冗余 设计目标 维护数据一致性开销增加 各站点可以分担整个工作任务 工作负荷分布 本地性降低 存储能力和费用
1.3 DDBS设计目标 1 分布式数据库设计概述 DDBS 设计目标 本地性或近地性 存储能力和费用 尽量减少通信次数和通信量,90/10准则 分片和分布方案(本地和远程访问次数)择优 控制数据适当冗余 冗余增加了可靠性、可用性,提高了效率 维护数据一致性开销增加 工作负荷分布 各站点可以分担整个工作任务 本地性降低
1分布式数据库设计概述 4DDBS设计方法 自顶向下方法(重构法) DDBS 设计方法 自底向上方法(组合法) 混合方法
1.4 DDBS设计方法 1 分布式数据库设计概述 DDBS 设计方法 自顶向下方法(重构法) 混合方法 自底向上方法(组合法)
2自顶向下设计DDB 21步骤和内容 需求分析 自顶向下设计过程 系统需求 用户输入 概念设计 视图设计 视图集成 全局概念模式 访问模式 外部模式定义 分布设计 户 输入 局部概念模式 物理设计 物理模式 反馈 反馈 观察与监视
2.1 步骤和内容 2 自顶向下设计DDB 需求分析 概念设计 视图设计 分布设计 物理设计 观察与监视 系统需求 全局概念模式 访问模式 外部模式定义 局部概念模式 物理模式 用户输入 视图集成 用户 输入 反馈 反馈 自顶向下设计过程
2自顶向下设计DDB 22数据的分片设计 分片原则 假若有全局关系R被分片为子关系(片段)集合 R={R1,R2,,Rn},则R满足 完整性 ?x∈R,彐R∈R必有x∈R1,i=1,2,,n 可重构性 ?存在函数g使得R=g(R1,R2,Rn) 即,R=∪R1(水平分片),R=∞R1(垂直分片) 不相交性 R1∩R;=空集1,2,…,n(水平分片) R1∩R=主键属性=1,2,…n(垂直分片)
• 假若有全局关系R 被分片为子关系(片段)集合 R = {R1 , R2 , …, Rn}, 则 R满足 – 完整性 ?x R, RiR 必有 xRi ,i=1,2,…,n – 可重构性 ? 存在函数 g 使得R = g(R1 , R2 , …, Rn ) 即,R=∪ Ri (水平分片),R=∞ Ri (垂直分片) – 不相交性 Ri ∩ Rj =空集,i≠j,i,j=1,2,…,n(水平分片) Ri ∩ Rj =主键属性,i,j=1,2,…,n(垂直分片) 2.2 数据的分片设计 2 自顶向下设计DDB 分片原则
2自顶向下设计DDB 22数据的分片设计 举例 职工关系 E(e#t, name, loc, sal, 查询 Qa: select s Qb: select s from e from e Where loc=sa where loc=sb an d. an d 两个站点:Sa,Sb Qa→Sa Sb<Qb
职工关系 E (e#, name, loc, sal,…) 查询: Qa: select * Qb: select * from E from E where loc=Sa where loc=Sb and… and ... 两个站点 : Sa, Sb Qa → Sa Sb Qb 2.2 数据的分片设计 2 自顶向下设计DDB 举例