分布式数据库查询机制

分布式查询处理的步骤和代价

分布式查询处理的步骤:查询分析→查询分解→查询本地化→全局查询优化→局部优化

分布式数据库查询机制_第1张图片

分布式查询处理的代价QC估算:

  • 通信代价T估算:T = Σ传输次数(每次传输延迟时间+每次传输数据量/数据传输速率) =Σ传输次数(C0+X/D)

基于等价变换的查询优化

1.分布式查询策略的重要性:

分布式数据库查询机制_第2张图片

分布式数据库查询机制_第3张图片

分布式数据库查询机制_第4张图片

分布式数据库查询机制_第5张图片

2.基于关系代数等价变换的查询优化

分布式数据库查询机制_第6张图片

分布式数据库查询机制_第7张图片

分布式数据库查询机制_第8张图片

分布式数据库查询机制_第9张图片

分布式数据库查询机制_第10张图片

基于半连接算法的查询优化

半连接运算:由投影和连接操作导出的一种关系代数操作。(半连接运算是不对称的,交换顺序后是不等价的)
例:设关系R和S在属性R.A=S.B上的半连接操作记为:

分布式数据库查询机制_第11张图片

利用半连接运算实现连接运算:

分布式数据库查询机制_第12张图片

采用半连接运算实现连接运算的代价及优化:(利用半连接运算减少通信的代价提高查询效率)

分布式数据库查询机制_第13张图片

➢采用半连接操作优化的原理:两个关系进行连接操作之前,去掉无用的无组,减少数据传输量。
➢采用直接连接运算的总代价:

➢选择半连接实现连接运算的原则:经半连接操作产生少量元组。

➢查询优化策略:
(1)计算各种半连接运算的代价。
(2)计算直接连接运算的代价。
(3)比较并选出最优者。

基于直接连接算法的查询优化

➢利用站点依赖信息的连接算法:

分布式数据库查询机制_第14张图片

该算法成立的条件是:在自然连接属性A上投影的交集一 定是空。

分布式数据库查询机制_第15张图片

站点依赖:设Ri[A]、Rj[A]、Si[A]、Sj[A]分别表示关系R、S在站点i、j的A属性上的取值。若对于i≠j,有:Ri[A]∩Sj[A]=Φ,则称关系R和S在属性A上站点依赖。 

性质:若关系R和S在属性A上站点依赖,则:

推论:

  • 如果R和S在属性A上站点依赖,B⊇A,则, R和S在属性B上站点依赖。 
  • 如果R和S在属性A上站点依赖, S和T在属性B上站点依赖,则:

使用站点依赖算法实现直接连接运算的优点:

  • 无数据传送
  • 可进行并行计算
  • 可利用本地索引

➢分片和复制算法:

当查询不能在无数据传送方式下处理,可采用分片和复制算法。

算法的原理:选择一组站点,将查询中的某一个关系的所有片段分布到这些站点上,然后把查询中的其余关系复制到每一个选定的站点上。

分布式数据库查询机制_第16张图片

优点:

  • 可进行并行计算
  • 在一定程度上可利用本地索引

 

 

【北京工业大学—高级数据库系统】

【https://next.xuetangx.com/course/BJUT08091000021/1075768】

你可能感兴趣的:(高级数据库系统)