分布式数据库查询机制

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

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

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

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

基于等价变换的查询优化

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

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

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

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

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

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

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

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

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

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

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

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

站点依赖:设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上站点依赖,则:

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

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

➢分片和复制算法:

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

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

优点:

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

 

 

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

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

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值