HorseIR: bringing array programming languages together with database query processing
Autor: | Hongji Chen, Joseph Vinish D'silva, Bettina Kemme, Laurie Hendren, Hanfeng Chen |
---|---|
Rok vydání: | 2020 |
Předmět: |
Dynamic array
Intermediate language SQL CPU cache Computer science Programming language Optimizing compiler InformationSystems_DATABASEMANAGEMENT 020207 software engineering 02 engineering and technology computer.software_genre Computer Graphics and Computer-Aided Design 020202 computer hardware & architecture Relational database management system 020204 information systems 0202 electrical engineering electronic engineering information engineering Array programming Compiler computer Compiled language Software computer.programming_language |
Zdroj: | DLS |
ISSN: | 1558-1160 0362-1340 |
Popis: | 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. |
Databáze: | OpenAIRE |
Externí odkaz: |