1. 两种设计策略
- Top_Down
- 新设计一个数据库系统
- Bottom-UP
- 已存在许多数据库系统,并将 它们集成为一个数据库
1.1. Top_Down
- 需求分析(Requirement analysis)
- 概念设计、视图集成、E-R 表示
- 分布设计、数据分片和分配
- 物理设计
- 性能调优(Tuning)
2. 分片的定义
- 分片(Fragmentation):对全局数据的划分。
- 片段(Fragment):是分布式数据库中数据的存储单位。划分的结果称为片段。
- 分配(Allocation):对片段存储场地的指定,称为分配。
- 当片段存储在一个以上场地时,称为数据复制 (Replication)存储。
- 如果每个片段只存储在一个场地,称为数据分割(Partition)存储

2.1. 关系


2.2. 分片的作用
- 减少网络传输量
- 增大事务处理的局部性
- 提高数据的可用性和查询效率
- 使负载均衡
2.3. 分片的原则
设计者必须考虑数据如何分布 在各个场地上,即全局数据如何进行逻辑划分和物理分配问题
- 完备性
- 所有全局数据必须映射到某个片段上
- 可重构性
- 所有片段必须可以重新构成全局数据
- 不相交性
- 水平划分的各片段所包含的数据不允许相同
2.4. 分片种类
- 水平分片
- 按元组进行划分,由分片条件决定
- 垂直分片
- 按关系属性划分,除关键字外,其他属性不允许出现在多个分片中
- 混合分片
- 即包括水平分片也包括垂直分片
3. 水平分片的设计


水平分片实际上是关系的选择操作,因此,用选择操作σ表示,选择条件为分片谓词q,则R的片段可表示为: $σ_q(R)$
求证(Dno=201)∪( Dno=202 )∪( Dno<>201∩Dno<>202 )=T
1 | 证明: (Dno=201)∪ (Dno=202)∪ (Dno <> 201 ∩ Dno <> 202) = ((Dno=201) ∪ (Dno=202)) ∪(¬ ((Dno=201 ∪ Dno=202)) =T |
3.1. 水平分片的影响因素
基于谓词条件划分关系
- 定性信息
- 简单谓词(simple predicate):只包含一个操作符号(比如
∧
)的查询谓词,称为简单谓词 - 小项谓词(Minterm predicate):由多个简单谓词组成 的查询谓词称为小项谓词
TITLE = “Elect. Eng.”∧SAL > 30000
- 简单谓词(simple predicate):只包含一个操作符号(比如
- 定量信息
最小性:如果简单谓词集中所有简单谓词都是相关(relevant)的, 则该简单谓词集具有最小性。
3.2. 基本水平分片步骤
- 找到具有完备性和最小性的简单谓词集合
- 派生小项谓词集合
- 确定有意义的小项谓词集,去除无意义的小项谓词

3.3. 导出水平分片(Derived horizontal fragmentation)
一个关系的分片不是基于关系本身的属性,而是根据另一 个与其有关联的关系的属性来划分,这种划分为导出水平划分。
例如
关系WORKS{ENO,PRJNO,HOURS} 关系EMP{ENO,ENAME,SALARY,DNO} 将WORKS按DNO进行水平分片,分片条件同 EMP的水平分片条件,得到的导出水平分片为W1、 W2和W3。

4. 垂直分片的设计
垂直分片是将一个关系按属性集合分成不相交的子集 (主关键字除外),属性集合称为分片属性

垂直分片是指定属性集上的投影操作。用投影运算∏表示, 投影属性为分片属性
- $E1=∏_{ENO,ENAME,BIRTH}(EMP)$
4.1. 验证
垂直分片也应满足完备性、可重构性和不相交性
4.2. 混合分片
先进行垂直分片,分为E1和E2。然后,将E2进行水平分 片,分为E21、E22 和E23
5. 分片的表示方法
- 图形表示法
- 分片树表示法

6. 分配设计
全局数据经过分片设计,得到各个划分的片段,片 段到物理场地的存储映射过程称为分配设计
- 非复制分配
- 每个片段只存储在一个场地上(全分割式分布库)
- 复制分配
- 每个片段在每个场地上存有副本(全复制分布库)
- 每个片段只在部分场地上存有副本(部分复制分布库)
7. 数据复制技术
- 减少网络负载
- 提高系统性能
- 更好地均衡负载
- 用复制式存储技术也增加了数据一致性的维护代价