时间:2022-12-04 22:30:01 | 来源:信息时代
时间:2022-12-04 22:30:01 来源:信息时代
移动数据查询优化处理 : 在传统分布式数据库查询处理与优化技术的基础上,利用多种查询优化方法,消除带宽多样性、断接等因素造成的影响,使查询引擎能够根据当前可用网络条件采取恰当的优化策略。针对移动计算机有限的电源能力,合理地组织本地数据库管理、远程数据库访问等耗电能较多的操作,达到节能目的,延长关键数据的可用时间。
1.移动数据的查询优化处理
移动数据库自身的特点,决定了在移动数据库的查询与优化方面必须采取与普通数据库不同或更优化的策略。由于移动通信费用较高,移动客户机与网络的连接处于频繁的断接状态,因而缩短移动数据库查询的响应时间,减少网络延迟是移动数据库查询优化必须解决的问题。
移动数据库中,与时空关联的查询,按照查询谓词的数量可以分为单谓词查询和多谓词查询。谓词可以包括范围谓词、K邻近谓词等。对于多谓词的查询更需要进行优化,选择执行代价最小的查询计划。如下为两个多谓词查询的实例。
例如,某人开车行驶在高速公路上,他想知道最近的汽车旅馆在哪儿。为此,他需要知道位于他前方公路旁的汽车旅馆。在这种情况下,他或许会提交一个连续查询来监测在他前方(一个范围谓词)的最近的旅馆(一个K邻近谓词)。
又如公安人员想要找出任意时刻城市中嫌疑犯的人数大于警察的人数的区域。这个查询首先要找到每个区域的警察和嫌疑犯(两个范围谓词),并对每个区域的对象分组,从而得到两个组各自的人数,然后执行连接选择获得嫌疑犯多于警察的区域。在这种情况下,警察和嫌疑犯都可以是连续运动的。
这两个查询实例说明了在移动数据库中多谓词时空查询的重要性。这种应用带来的一个最直接的挑战是如何建立一个查询评估计划来响应多谓词时空查询。另外一个挑战就是这个查询评估计划是否最优或者是否有其他计划会产生更少的系统负载。例如,假设用户希望获得正在通过某个区域的卡车的信息。这个查询结果取决于范围谓词(在这个区域)和选择谓词(类型=“卡车”)的选取,这样用户可能会得到两个不同的查询优化评估计划。
在移动数据库中,建立完整框架来支持查询优化的关键问题包括: 对于不断演化的时空数据的选择性评估,考虑如周期和相互关联之类的属性; 基于选择性评估,建立用于时空查询的代价评估模型;使用连续时空查询的自适应性查询优化和扩展移动数据库查询优化以覆盖多谓词时空查询。
2. 移动数据查询优化面临的挑战
实现多谓词查询以及变换这些不同谓词的选择性,给移动数据的查询优化提出了一些挑战性问题:
(1)时空管道操作挑战:目前大多数算法都是处理移动对象的单谓词时空查询,这些算法都是非管道的。这些操作的输入是移动对象位置更新的数据流,输出是满足查询的移动对象。查询结果或者是周期地报告,或者是递增地报告。周期结果标识形成结果集的所有对象。而对于递增的情况,结果集递增地报告正负更新序列。一个正更新表明一个新的对象加入到结果集,而负更新则表明从结果集中去除一个对象。由于当前的操作在格式和语义上都不同于它们的输出,显然,对于多谓词的查询需要构造查询操作的管道。
(2)时间挑战: 移动对象分布随时间不断变化。例如,上午9点到下午5点有许多车辆进入了市区,使郊区的车辆很少; 晚上,大多数车辆停在了停车场,不会与服务器通信。结果,在数据库中就缺少了许多车辆的信息。因此,需要建立动态查询计划,用以有效地响应长期的连续时空查询。
(3)空间挑战:把一个查询映射成一个高效的查询计划不是同时一对一的映射,对象在空间的分布大大影响最优查询计划的选择。
(4)时空挑战:查询计划的选择性不仅取决于移动对象空间分布,而且取决于移动查询的焦点对象的位置。当一个查询有多个焦点对象、并且这些对象都是运动的时候,连续查询的查询计划就不容易很快地达到最优。
3.移动数据库查询优化的目标
基于以上挑战,可以得到移动数据库查询优化的以下目标:
(1)多谓词时空查询需要特殊处理,不能仅仅通过简单地堆砌已有的时空操作来实现。
(2)不同查询操作的选择性随着时间和空间会不断变化,故查询操作的代价也会随着时间和空间不断变化。因此,最优执行计划应随着时间和空间不断变化。
(3)关键要考虑自适应的查询优化技术。
4.选择性评估技术
为了高效处理选择查询,需要有精确的选择性评估技术。选择性评估被定义为查询结果中数据量与数据库中总数据量的比值。通过评估每种查询计划的代价,查询优化器在所有可能的查询计划中选择一个高效的执行计划。选择评估的精确性会大大影响一种高效查询计划的选择。
目前,已提出一些移动对象的选择性评估方法,目标是精确地评估移动对象的选择性。查询优化评估方法方法主要有:
(1)时空直方图法:最初用于对预测的时空查询的选择性评估,主要针对一维移动对象。多维对象的选择性评估通过每个维的选择性评估相乘得到。通过建立时空直方图,可以得到更精确的选择性评估。对于数据流应用,流入数据不能完全存储,故建立直方图时,连续查询模型无法扫描整体数据。所以一个时空直方图可以递增地建立和求精,因此,可以利用来自查询结果的反馈来在线更新时空直方图。每个操作定期地报告它所监测范围的实际选择性。这种统计在操作内进行,不需要给查询带来额外代价。
(2)采样法:采样法不基于直方图,旨在减少最优评估所需要的采样数量。主要思想是每个移动对象有一个关键查询集合,仅当这些移动对象开始或者终止满足关键查询的时候,它们才开始向服务器传送新的位置信息。