首页 > 数据库技术 > 详细

DDB---查询与优化

时间:2019-04-26 11:27:24      阅读:174      评论:0      收藏:0      [点我收藏+]

摘要:分布式数据库(Distributed DB)是数据库中非常重要的一个部分,随着要处理的数据越来越多,分布式逐渐成为了一种策略。主要有:分布式操作系统,分布式程序设计语言,分布式文件系统,分布式数据库等。今天我们主要学习分布式数据库中常用的查询优化策略。

1,分布式查询优化的目标

方式一:使总代价最小(总代价 = CPU代价 + I/O代价 + 通信代价)

方式二:响应时间最短

2,查询代价的估算方法

设一个查询的预期代价为 QC (query cost)

QC = CPU代价 + I/O代价 + 通信代价

其中,通信代价(Transmit Cost)可用如下公式粗略估算:

TC(X) = C0 + C1 * X

1)X 为数据的传输量,通常以 bit 为单位计算

2)C为两站点间通信初始化一次所花费的时间,它由通信系统确定,近似一个常数,以秒(s)为单位

3)C1 为传输率(传输速度的倒数),即单位数据传输的时间,单位是 s/bit

3,分布式查询的层次结构

1)查询分解:将查询问题(例如 SQL 语句)转换为一个定义在全局关系上的关系代数表达式。本层转换所需要的信息在全局概念模式中获得

2)数据本地化:把一个全局关系上的查询,进行具体化(尽可能做到本地化或近本地化)片段上的查询。这一变换所需要的信息在分片模式中片段的分配模式中获得

3)全局优化:找出片段查询的最佳操作次序,包括使得代价函数最小。(基于广域网的分布式 DBMS,通信代价是最为明显的因素)。本层转换所需要的信息来自数据库统计信息,包括各站点片段统计信息、资源信息和通信信息等

4)局部优化:在每一个站点上执行的子查询,被称为局部查询。它由该站点上的 DBMS 进行优化。所需信息取自局部模式

4,具体优化方法

1)基于关系代数等价变换的查询优化

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

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

  3.1 一般常用策略

  3.2 利用站点依赖信息的算法

  3.3 分片和复制算法

  3.4 站点依赖和数据复制结合

  3.5 Hash 划分算法

总结:不同方法的比较

 

DDB---查询与优化

原文:https://www.cnblogs.com/zpcoding/p/10773246.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!