2自顶向下设计DDB 22数据的分片设计 举例 e# nm Loc sal E 5 Joe Sa 1000 7 Sally Sb 25 8 Tom Sa 500 e# nm Loc sal e# nm Loc Sal 5 Joe Sa 1000 7 Sally Sb 2500 8 Tom Sa 500 站点Sa 站点Sb
e# NM Loc Sal E 5 7 8 Sa 1000 Sally Sb 2500 Tom Sa 500 Joe e# NM Loc Sal e# NM Loc Sal 5 8 Sa 1000 Tom Sa 500 Joe 7 Sally Sb 2500 .. .. .. .. F 站点Sa 站点 Sb 2.2 数据的分片设计 2 自顶向下设计DDB 举例
2自顶向下设计DB 22数据的分片设计 基本水平分片 基本水平分片 以关系自身的属性性质为基础,执行“选 择”操作,将关系分割成若干个不相交的 片段。 ={R1,R2} Ri=Oloc-Sa(E) R2=Oloc-Sb(E)
• 基本水平分片 以关系自身的属性性质为基础,执行“选 择”操作,将关系分割成若干个不相交的 片段。 R = { R1, R2 } R1 = loc=Sa(E) R2 = loc=Sb(E) 2.2 数据的分片设计 2 自顶向下设计DDB 基本水平分片
2自顶向下设计DB 22数据的分片设计 基本水平分片 若R={R1,R2,…,Rn},则 完整性对于每一个元组t∈R,彐R1∈R使得t∈R; 不相交性对Vt∈Ri,→彐Rj使得teR,i≠j 可重构性操作是∪(可以忽略,因为完整性就蕴含着) R=URI,,,.,Rni P={p1,p2,…,pn}是一简单谓词集合,为保证分片 的正确性,P必须是: 完整的:同一分片中的任意两个元组被应用同样概率 访问。 最小的:集合P中的所有谓词与应用密切相关 具有完整性和最小性不是必要条件,但是对于简化分配 问题有好处
• 若 R = {R1 , R2 , …, Rn}, 则 – 完整性 对于每一个元组 tR, RiR 使得 tRi – 不相交性 对tRi, Rj 使得 tRj, i j – 可重构性 操作是∪ (可以忽略, 因为完整性就蕴含着) R = ∪{R1 , R2 , …, Rn} • P = {p1 , p2 , …, pn}是一简单谓词集合,为保证分片 的正确性,P必须是: – 完整的:同一分片中的任意两个元组被应用同样概率 访问。 – 最小的:集合P中的所有谓词与应用密切相关。 – 具有完整性和最小性不是必要条件, 但是对于简化分配 问题有好处 2.2 数据的分片设计 2 自顶向下设计DDB 基本水平分片
2自顶向下设计DDB 22数据的分片设计 基本水平分片 例子 EMP(E#, NAME, DEPT, JOB, SAL, TEL,.) DEPT1, 2) JOB=(P,,-P 假定,应用经常查询的内容是属于部门1且是程序员 的职员 则可能有的水平分段限定 P={DEPT=1}(不是完整的) P={DEPT=1,JOB=P}(是完整的、最小的) P={DEPT=1,JOB=P,SAL>500}(完整的,不是 最小的)
• 例子 EMP ( E#, NAME, DEPT, JOB, SAL, TEL, …) DEPT={1,2} JOB={‘P’, ‘-P’} 假定,应用经常查询的内容是属于部门1且是程序员 的职员。 • 则可能有的水平分段限定 – P={ DEPT=1} (不是完整的) – P={DEPT=1, JOB=‘P’} (是完整的、最小的) – P={DEPT=1, JOB=‘P’, SAL>500} (完整的,不是 最小的) 2.2 数据的分片设计 2 自顶向下设计DDB 基本水平分片
2自顶向下设计DDB 22数据的分片设计 基本水平分片 如何保证分片原则 手工”检查! e RI=Loc=SaE: R2=O loc=SbE 生成具有满足分段原则的限定谓词
如何保证分片原则 • “手工”检查! e.g., R1 = loc=‘Sa’ E ; R2 = loc=‘Sb’ E • 生成具有满足分段原则的限定谓词 2.2 数据的分片设计 2 自顶向下设计DDB 基本水平分片