支持探索性查询的SAUNA技术详解
1. 引言
在现代数据库应用中,尤其是在电子商务领域,用户经常面临庞大的、不熟悉的数据空间。为了找到最优选项,用户往往采取“试错”查询的方式,不断调整查询条件,如航班时间、日期和机场位置等,以获取满意的结果。这种方式不仅增加了服务器的负担,也延长了用户的等待时间,尤其是在通过无线信道访问服务时,问题尤为突出。为了解决这一问题,本文将详细介绍SAUNA(Supporting Exploratory Queries in Databases),一种旨在减少用户反复提交探索性查询需求的技术。
2. SAUNA的基本概念
SAUNA是一种服务器端的查询放松算法,其核心思想是通过放松用户的初始查询条件,生成一个能够返回预期数量答案的查询。具体来说,SAUNA接收用户的初始范围查询和期望的答案集大小作为输入,生成一个放松后的查询。该查询预计能够返回用户所需的答案数量。为了实现这一点,SAUNA采用了针对范围查询的距离度量标准,并对其进行加权以生成特定形状(例如保持纵横比)的放松查询。此外,它还利用多维直方图来进行查询规模的估算。
2.1 距离度量标准
SAUNA引入了一种特定于范围查询的距离度量标准,以确保生成的放松查询尽可能接近用户的初始查询。距离度量标准的定义如下:
- MinDist :计算查询框与直方图桶之间的最小距离。
- MaxDist :计算查询框与直方图桶之间的最大距离。
以下是MinDist和MaxDist的算法实现:
<
订阅专栏 解锁全文
1002



被折叠的 条评论
为什么被折叠?



