Probery:一种面向大数据的概率式不完整查询优化方法
数据库
2019-01-03 v1 分布式、并行与集群计算
摘要
如今,查询优化在大数据管理中备受关注,尤其在 NoSQL 数据库中。近似查询以损失准确度为代价提升查询性能,例如采样方法以查询完整性换取效率。与之不同,我们提出一种查询完整性的不确定性,称为查询完整概率(简称 PC)。PC 指查询结果包含所有满意记录的可能性。例如 PC=0.95,保证 100 个查询中不完整查询不超过 5 个,但不保证它们不完整到何种程度。我们以 PC 换取查询性能,实验表明 PC 的微小损失使查询性能翻倍。所提出的 Probery(基于 PROBability 的数据 quERY)利用查询完整性的不确定性来加速 OLTP 查询。本文阐述了数据与概率模型、基于概率的数据放置与查询处理,以及基于 Apache Drill 的 Probery 实现。实验中,我们首先证明在各种情形下完整查询的百分比大于给定 PC 置信度,即 PC 保证有效。然后将 Probery 与 Drill、Impala 和 Hive 在查询性能方面进行比较。结果表明,基于 Drill 的 Probery 在完整查询时与 Drill 一样快,而在可能完整查询时平均分别比 Drill、Impala 和 Hive 快 1.8 倍、1.3 倍和 1.6 倍。
引用
@article{arxiv.1901.00113,
title = {Probery: A Probability-based Incomplete Query Optimization for Big Data},
author = {Jie Song and Yichuan Zhang and Yubin Bao and Ge Yu},
journal= {arXiv preprint arXiv:1901.00113},
year = {2019}
}
备注
15 pages under the review