Hanfeng Chen, Joseph Vinish D'silva, Hongji Chen, Bettina Kemme, L. Hendren
{"title":"HorseIR: bringing array programming languages together with database query processing","authors":"Hanfeng Chen, Joseph Vinish D'silva, Hongji Chen, Bettina Kemme, L. Hendren","doi":"10.1145/3276945.3276951","DOIUrl":null,"url":null,"abstract":"Relational database management systems (RDBMS) are operationally similar to a dynamic language processor. They take SQL queries as input, dynamically generate an optimized execution plan, and then execute it. In recent decades, the emergence of in-memory databases with columnar storage, which use array-like storage structures, has shifted the focus on optimizations from the traditional I/O bottleneck to CPU and memory. However, database research so far has primarily focused on CPU cache optimizations. The similarity in the computational characteristics of such database workloads and array programming language optimizations are largely unexplored. We believe that these database implementations can benefit from merging database optimizations with dynamic array-based programming language approaches. Therefore, in this paper, we propose a novel approach to optimize database query execution using a new array-based intermediate representation, HorseIR, that resides between database queries and compiled code. Furthermore, we provide a translator to generate HorseIR from database execution plans and a compiler that optimizes HorseIR and generates efficient code. We compare HorseIR with the MonetDB RDBMS, by testing standard SQL queries, and show how our approach and compiler optimizations improve the runtime of complex queries.","PeriodicalId":113872,"journal":{"name":"Proceedings of the 14th ACM SIGPLAN International Symposium on Dynamic Languages","volume":"34 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-10-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"12","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 14th ACM SIGPLAN International Symposium on Dynamic Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3276945.3276951","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 12

摘要

关系数据库管理系统(RDBMS)在操作上类似于动态语言处理器。它们将SQL查询作为输入,动态生成优化的执行计划,然后执行该计划。近几十年来,使用类似数组的存储结构的列式存储的内存数据库的出现,将优化的重点从传统的I/O瓶颈转移到了CPU和内存上。然而,到目前为止,数据库研究主要集中在CPU缓存优化上。这种数据库工作负载和数组编程语言优化在计算特性上的相似性在很大程度上尚未得到探索。我们相信这些数据库实现可以从合并数据库优化和基于动态数组的编程语言方法中获益。因此,在本文中,我们提出了一种新的方法来优化数据库查询执行,使用一个新的基于数组的中间表示,horir,它驻留在数据库查询和编译代码之间。此外,我们还提供了一个从数据库执行计划生成horir的转换器和一个优化horir并生成高效代码的编译器。通过测试标准SQL查询,我们将HorseIR与MonetDB RDBMS进行比较,并展示我们的方法和编译器优化如何改善复杂查询的运行时。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
HorseIR: bringing array programming languages together with database query processing
Relational database management systems (RDBMS) are operationally similar to a dynamic language processor. They take SQL queries as input, dynamically generate an optimized execution plan, and then execute it. In recent decades, the emergence of in-memory databases with columnar storage, which use array-like storage structures, has shifted the focus on optimizations from the traditional I/O bottleneck to CPU and memory. However, database research so far has primarily focused on CPU cache optimizations. The similarity in the computational characteristics of such database workloads and array programming language optimizations are largely unexplored. We believe that these database implementations can benefit from merging database optimizations with dynamic array-based programming language approaches. Therefore, in this paper, we propose a novel approach to optimize database query execution using a new array-based intermediate representation, HorseIR, that resides between database queries and compiled code. Furthermore, we provide a translator to generate HorseIR from database execution plans and a compiler that optimizes HorseIR and generates efficient code. We compare HorseIR with the MonetDB RDBMS, by testing standard SQL queries, and show how our approach and compiler optimizations improve the runtime of complex queries.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信