Adaptive query compilation in graph databases

Compiling database queries into compact and efficient machine code has proven to be a great technique to improve query performance and exploit characteristics of modern hardware. Particularly for graph database queries, which often execute the exact instructions for processing, this technique can le...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Distributed and parallel databases : an international journal 2023-09, Vol.41 (3), p.359-386
Hauptverfasser: Baumstark, Alexander, Jibril, Muhammad Attahir, Sattler, Kai-Uwe
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 386
container_issue 3
container_start_page 359
container_title Distributed and parallel databases : an international journal
container_volume 41
creator Baumstark, Alexander
Jibril, Muhammad Attahir
Sattler, Kai-Uwe
description Compiling database queries into compact and efficient machine code has proven to be a great technique to improve query performance and exploit characteristics of modern hardware. Particularly for graph database queries, which often execute the exact instructions for processing, this technique can lead to an improvement. Furthermore, compilation frameworks like LLVM provide powerful optimization techniques and support different backends. However, the time for generating and optimizing machine code becomes an issue for short-running queries or queries which could produce early results quickly. In this work, we present an adaptive approach integrating graph query interpretation and compilation. While query compilation and code generation are running in the background, the query execution starts using the interpreter. When the code generation is finished, the execution switches to the compiled code. Our evaluation of the approach using short-running and complex queries show that autonomously switching execution modes helps to improve the runtime of all types of queries and additionally to hide compilation times and the additional latencies of the underlying storage.
doi_str_mv 10.1007/s10619-023-07430-4
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2859922341</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2859922341</sourcerecordid><originalsourceid>FETCH-LOGICAL-c314t-480af0f018edf33db10cf3dacfdd22c97d2366c4a38a12917e85af0a6c3ca98d3</originalsourceid><addsrcrecordid>eNp9kEtLAzEUhYMoWKt_wNWA6-jNYybJshRfUHCj63CbR53SzozJVOi_NzqCO1d3c75zLh8h1wxuGYC6ywwaZihwQUFJAVSekBmrlaCqVvqUzMDwhmql-Tm5yHkLAEYxNSN04XEY289QfRxCOlau3w_tDse276q2qzYJh_fK44hrzCFfkrOIuxyufu-cvD3cvy6f6Orl8Xm5WFEnmByp1IARIjAdfBTCrxm4KDy66D3nzijPRdM4iUIj44apoOsCYOOEQ6O9mJObqXdIffkrj3bbH1JXJi3XtTGcC8lKik8pl_qcU4h2SO0e09EysN9a7KTFFi32R4uVBRITlEu424T0V_0P9QVOJ2To</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2859922341</pqid></control><display><type>article</type><title>Adaptive query compilation in graph databases</title><source>SpringerLink Journals</source><creator>Baumstark, Alexander ; Jibril, Muhammad Attahir ; Sattler, Kai-Uwe</creator><creatorcontrib>Baumstark, Alexander ; Jibril, Muhammad Attahir ; Sattler, Kai-Uwe</creatorcontrib><description>Compiling database queries into compact and efficient machine code has proven to be a great technique to improve query performance and exploit characteristics of modern hardware. Particularly for graph database queries, which often execute the exact instructions for processing, this technique can lead to an improvement. Furthermore, compilation frameworks like LLVM provide powerful optimization techniques and support different backends. However, the time for generating and optimizing machine code becomes an issue for short-running queries or queries which could produce early results quickly. In this work, we present an adaptive approach integrating graph query interpretation and compilation. While query compilation and code generation are running in the background, the query execution starts using the interpreter. When the code generation is finished, the execution switches to the compiled code. Our evaluation of the approach using short-running and complex queries show that autonomously switching execution modes helps to improve the runtime of all types of queries and additionally to hide compilation times and the additional latencies of the underlying storage.</description><identifier>ISSN: 0926-8782</identifier><identifier>EISSN: 1573-7578</identifier><identifier>DOI: 10.1007/s10619-023-07430-4</identifier><language>eng</language><publisher>New York: Springer US</publisher><subject>Computer Science ; Data Structures ; Database Management ; Information Systems Applications (incl.Internet) ; Memory Structures ; Operating Systems ; Optimization ; Optimization techniques ; Queries ; Run time (computers) ; Switches</subject><ispartof>Distributed and parallel databases : an international journal, 2023-09, Vol.41 (3), p.359-386</ispartof><rights>The Author(s) 2023</rights><rights>The Author(s) 2023. This work is published under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c314t-480af0f018edf33db10cf3dacfdd22c97d2366c4a38a12917e85af0a6c3ca98d3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://link.springer.com/content/pdf/10.1007/s10619-023-07430-4$$EPDF$$P50$$Gspringer$$Hfree_for_read</linktopdf><linktohtml>$$Uhttps://link.springer.com/10.1007/s10619-023-07430-4$$EHTML$$P50$$Gspringer$$Hfree_for_read</linktohtml><link.rule.ids>314,776,780,27901,27902,41464,42533,51294</link.rule.ids></links><search><creatorcontrib>Baumstark, Alexander</creatorcontrib><creatorcontrib>Jibril, Muhammad Attahir</creatorcontrib><creatorcontrib>Sattler, Kai-Uwe</creatorcontrib><title>Adaptive query compilation in graph databases</title><title>Distributed and parallel databases : an international journal</title><addtitle>Distrib Parallel Databases</addtitle><description>Compiling database queries into compact and efficient machine code has proven to be a great technique to improve query performance and exploit characteristics of modern hardware. Particularly for graph database queries, which often execute the exact instructions for processing, this technique can lead to an improvement. Furthermore, compilation frameworks like LLVM provide powerful optimization techniques and support different backends. However, the time for generating and optimizing machine code becomes an issue for short-running queries or queries which could produce early results quickly. In this work, we present an adaptive approach integrating graph query interpretation and compilation. While query compilation and code generation are running in the background, the query execution starts using the interpreter. When the code generation is finished, the execution switches to the compiled code. Our evaluation of the approach using short-running and complex queries show that autonomously switching execution modes helps to improve the runtime of all types of queries and additionally to hide compilation times and the additional latencies of the underlying storage.</description><subject>Computer Science</subject><subject>Data Structures</subject><subject>Database Management</subject><subject>Information Systems Applications (incl.Internet)</subject><subject>Memory Structures</subject><subject>Operating Systems</subject><subject>Optimization</subject><subject>Optimization techniques</subject><subject>Queries</subject><subject>Run time (computers)</subject><subject>Switches</subject><issn>0926-8782</issn><issn>1573-7578</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2023</creationdate><recordtype>article</recordtype><sourceid>C6C</sourceid><recordid>eNp9kEtLAzEUhYMoWKt_wNWA6-jNYybJshRfUHCj63CbR53SzozJVOi_NzqCO1d3c75zLh8h1wxuGYC6ywwaZihwQUFJAVSekBmrlaCqVvqUzMDwhmql-Tm5yHkLAEYxNSN04XEY289QfRxCOlau3w_tDse276q2qzYJh_fK44hrzCFfkrOIuxyufu-cvD3cvy6f6Orl8Xm5WFEnmByp1IARIjAdfBTCrxm4KDy66D3nzijPRdM4iUIj44apoOsCYOOEQ6O9mJObqXdIffkrj3bbH1JXJi3XtTGcC8lKik8pl_qcU4h2SO0e09EysN9a7KTFFi32R4uVBRITlEu424T0V_0P9QVOJ2To</recordid><startdate>20230901</startdate><enddate>20230901</enddate><creator>Baumstark, Alexander</creator><creator>Jibril, Muhammad Attahir</creator><creator>Sattler, Kai-Uwe</creator><general>Springer US</general><general>Springer Nature B.V</general><scope>C6C</scope><scope>AAYXX</scope><scope>CITATION</scope></search><sort><creationdate>20230901</creationdate><title>Adaptive query compilation in graph databases</title><author>Baumstark, Alexander ; Jibril, Muhammad Attahir ; Sattler, Kai-Uwe</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c314t-480af0f018edf33db10cf3dacfdd22c97d2366c4a38a12917e85af0a6c3ca98d3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2023</creationdate><topic>Computer Science</topic><topic>Data Structures</topic><topic>Database Management</topic><topic>Information Systems Applications (incl.Internet)</topic><topic>Memory Structures</topic><topic>Operating Systems</topic><topic>Optimization</topic><topic>Optimization techniques</topic><topic>Queries</topic><topic>Run time (computers)</topic><topic>Switches</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Baumstark, Alexander</creatorcontrib><creatorcontrib>Jibril, Muhammad Attahir</creatorcontrib><creatorcontrib>Sattler, Kai-Uwe</creatorcontrib><collection>Springer Nature OA Free Journals</collection><collection>CrossRef</collection><jtitle>Distributed and parallel databases : an international journal</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Baumstark, Alexander</au><au>Jibril, Muhammad Attahir</au><au>Sattler, Kai-Uwe</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Adaptive query compilation in graph databases</atitle><jtitle>Distributed and parallel databases : an international journal</jtitle><stitle>Distrib Parallel Databases</stitle><date>2023-09-01</date><risdate>2023</risdate><volume>41</volume><issue>3</issue><spage>359</spage><epage>386</epage><pages>359-386</pages><issn>0926-8782</issn><eissn>1573-7578</eissn><abstract>Compiling database queries into compact and efficient machine code has proven to be a great technique to improve query performance and exploit characteristics of modern hardware. Particularly for graph database queries, which often execute the exact instructions for processing, this technique can lead to an improvement. Furthermore, compilation frameworks like LLVM provide powerful optimization techniques and support different backends. However, the time for generating and optimizing machine code becomes an issue for short-running queries or queries which could produce early results quickly. In this work, we present an adaptive approach integrating graph query interpretation and compilation. While query compilation and code generation are running in the background, the query execution starts using the interpreter. When the code generation is finished, the execution switches to the compiled code. Our evaluation of the approach using short-running and complex queries show that autonomously switching execution modes helps to improve the runtime of all types of queries and additionally to hide compilation times and the additional latencies of the underlying storage.</abstract><cop>New York</cop><pub>Springer US</pub><doi>10.1007/s10619-023-07430-4</doi><tpages>28</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0926-8782
ispartof Distributed and parallel databases : an international journal, 2023-09, Vol.41 (3), p.359-386
issn 0926-8782
1573-7578
language eng
recordid cdi_proquest_journals_2859922341
source SpringerLink Journals
subjects Computer Science
Data Structures
Database Management
Information Systems Applications (incl.Internet)
Memory Structures
Operating Systems
Optimization
Optimization techniques
Queries
Run time (computers)
Switches
title Adaptive query compilation in graph databases
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-31T10%3A59%3A11IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Adaptive%20query%20compilation%20in%20graph%20databases&rft.jtitle=Distributed%20and%20parallel%20databases%20:%20an%20international%20journal&rft.au=Baumstark,%20Alexander&rft.date=2023-09-01&rft.volume=41&rft.issue=3&rft.spage=359&rft.epage=386&rft.pages=359-386&rft.issn=0926-8782&rft.eissn=1573-7578&rft_id=info:doi/10.1007/s10619-023-07430-4&rft_dat=%3Cproquest_cross%3E2859922341%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2859922341&rft_id=info:pmid/&rfr_iscdi=true