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...
Gespeichert in:
Veröffentlicht in: | Distributed and parallel databases : an international journal 2023-09, Vol.41 (3), p.359-386 |
---|---|
Hauptverfasser: | , , |
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 |