中文

一次付费,免费获取数百次:通过共享查询执行降低云成本

数据库 2020-04-07 v1

摘要

基于云的数据分析如今已是常见做法,因其系统管理开销较低且采用按使用量付费的定价模式。然而,该定价模式并不总是适合查询处理,因为重度使用会导致高昂成本。例如,在按处理字节数向用户收费的查询即服务系统中,频繁访问相同数据的查询集合可能变得十分昂贵。当使用 SQL 等声明式接口时,用户优化查询执行的可选方案有限,这使问题更加严重。在本文中,我们展示了在不修改现有系统且无需云服务提供商参与的情况下,如何显著降低查询即服务系统的开销,进而降低成本。我们的方法基于查询重写,将多个并发查询合并为单个查询。我们的实验表明,共享执行所完成的总工作量小于逐次查询方式。由于查询按处理字节数计费,执行一组查询的成本通常与执行其中单个查询相同。作为一个示例,我们展示了在 Amazon Athena 和 Google BigQuery 中,TPC-H 基准测试的共享执行比逐次查询方式便宜高达 100 倍和 16 倍,同时实现了更高的吞吐量。

关键词

引用

@article{arxiv.1809.00159,
  title  = {Pay One, Get Hundreds for Free: Reducing Cloud Costs through Shared Query Execution},
  author = {Renato Marroquín and Ingo Müller and Darko Makreshanski and Gustavo Alonso},
  journal= {arXiv preprint arXiv:1809.00159},
  year   = {2020}
}