{"id":"https://openalex.org/W2797202077","doi":"https://doi.org/10.1145/3183653","title":"Building Efficient Query Engines in a High-Level Language","display_name":"Building Efficient Query Engines in a High-Level Language","publication_year":2018,"publication_date":"2018-03-31","ids":{"openalex":"https://openalex.org/W2797202077","doi":"https://doi.org/10.1145/3183653","mag":"2797202077"},"language":"en","primary_location":{"id":"doi:10.1145/3183653","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3183653","pdf_url":null,"source":{"id":"https://openalex.org/S90119964","display_name":"ACM Transactions on Database Systems","issn_l":"0362-5915","issn":["0362-5915","1557-4644"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Database Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"http://infoscience.epfl.ch/record/258444","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5025737201","display_name":"Amir Shaikhha","orcid":"https://orcid.org/0000-0002-9062-759X"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Amir Shaikhha","raw_affiliation_strings":["EPFL, Lausanne, Lausanne, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"EPFL, Lausanne, Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034816930","display_name":"Yannis Klonatos","orcid":null},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Yannis Klonatos","raw_affiliation_strings":["EPFL, Lausanne, Lausanne, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"EPFL, Lausanne, Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5101903922","display_name":"Christoph Koch","orcid":"https://orcid.org/0000-0002-9130-7205"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Christoph Koch","raw_affiliation_strings":["EPFL, Lausanne, Lausanne, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"EPFL, Lausanne, Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I5124864"],"apc_list":null,"apc_paid":null,"fwci":5.7646,"has_fulltext":false,"cited_by_count":41,"citation_normalized_percentile":{"value":0.97106187,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":"43","issue":"1","first_page":"1","last_page":"45"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9986000061035156,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9986000061035156,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10317","display_name":"Advanced Database Systems and Queries","score":0.9984999895095825,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10101","display_name":"Cloud Computing and Resource Management","score":0.9973000288009644,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.931518018245697},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6058391332626343},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5941300392150879},{"id":"https://openalex.org/keywords/domain-specific-language","display_name":"Domain-specific language","score":0.4798109829425812},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.4653758406639099},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.4583657383918762},{"id":"https://openalex.org/keywords/query-optimization","display_name":"Query optimization","score":0.4543570280075073},{"id":"https://openalex.org/keywords/query-language","display_name":"Query language","score":0.4348154067993164},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.41877514123916626},{"id":"https://openalex.org/keywords/query-plan","display_name":"Query plan","score":0.41201624274253845},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.35552749037742615},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.3296723961830139},{"id":"https://openalex.org/keywords/sargable","display_name":"Sargable","score":0.3146546483039856},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.2607928514480591},{"id":"https://openalex.org/keywords/web-search-query","display_name":"Web search query","score":0.23844975233078003},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.20289814472198486},{"id":"https://openalex.org/keywords/search-engine","display_name":"Search engine","score":0.198941171169281},{"id":"https://openalex.org/keywords/information-retrieval","display_name":"Information retrieval","score":0.12492227554321289}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.931518018245697},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6058391332626343},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5941300392150879},{"id":"https://openalex.org/C135257023","wikidata":"https://www.wikidata.org/wiki/Q691358","display_name":"Domain-specific language","level":2,"score":0.4798109829425812},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.4653758406639099},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.4583657383918762},{"id":"https://openalex.org/C157692150","wikidata":"https://www.wikidata.org/wiki/Q2919848","display_name":"Query optimization","level":2,"score":0.4543570280075073},{"id":"https://openalex.org/C192028432","wikidata":"https://www.wikidata.org/wiki/Q845739","display_name":"Query language","level":2,"score":0.4348154067993164},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.41877514123916626},{"id":"https://openalex.org/C2779729312","wikidata":"https://www.wikidata.org/wiki/Q784232","display_name":"Query plan","level":5,"score":0.41201624274253845},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.35552749037742615},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.3296723961830139},{"id":"https://openalex.org/C192939062","wikidata":"https://www.wikidata.org/wiki/Q104840822","display_name":"Sargable","level":4,"score":0.3146546483039856},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.2607928514480591},{"id":"https://openalex.org/C164120249","wikidata":"https://www.wikidata.org/wiki/Q995982","display_name":"Web search query","level":3,"score":0.23844975233078003},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.20289814472198486},{"id":"https://openalex.org/C97854310","wikidata":"https://www.wikidata.org/wiki/Q19541","display_name":"Search engine","level":2,"score":0.198941171169281},{"id":"https://openalex.org/C23123220","wikidata":"https://www.wikidata.org/wiki/Q816826","display_name":"Information retrieval","level":1,"score":0.12492227554321289},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3183653","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3183653","pdf_url":null,"source":{"id":"https://openalex.org/S90119964","display_name":"ACM Transactions on Database Systems","issn_l":"0362-5915","issn":["0362-5915","1557-4644"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Database Systems","raw_type":"journal-article"},{"id":"pmh:oai:infoscience.epfl.ch:258444","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/258444","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"WoS","raw_type":"research article"}],"best_oa_location":{"id":"pmh:oai:infoscience.epfl.ch:258444","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/258444","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"WoS","raw_type":"research article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":93,"referenced_works":["https://openalex.org/W116654777","https://openalex.org/W247055860","https://openalex.org/W294835284","https://openalex.org/W834377638","https://openalex.org/W1491178396","https://openalex.org/W1493893823","https://openalex.org/W1506948396","https://openalex.org/W1556604985","https://openalex.org/W1557658176","https://openalex.org/W1605782097","https://openalex.org/W1650987719","https://openalex.org/W1966981171","https://openalex.org/W1969460277","https://openalex.org/W1969877208","https://openalex.org/W1970165929","https://openalex.org/W1980590442","https://openalex.org/W1981780124","https://openalex.org/W1984005572","https://openalex.org/W2004711550","https://openalex.org/W2005112390","https://openalex.org/W2008070495","https://openalex.org/W2016943912","https://openalex.org/W2026049208","https://openalex.org/W2038412523","https://openalex.org/W2039877226","https://openalex.org/W2064514251","https://openalex.org/W2074489032","https://openalex.org/W2081192312","https://openalex.org/W2081418732","https://openalex.org/W2083355374","https://openalex.org/W2086658561","https://openalex.org/W2088675571","https://openalex.org/W2093793584","https://openalex.org/W2094455839","https://openalex.org/W2100444372","https://openalex.org/W2100542992","https://openalex.org/W2101000001","https://openalex.org/W2104242181","https://openalex.org/W2105079611","https://openalex.org/W2106771621","https://openalex.org/W2106911865","https://openalex.org/W2108290652","https://openalex.org/W2110629752","https://openalex.org/W2112491581","https://openalex.org/W2112866468","https://openalex.org/W2116094274","https://openalex.org/W2117387696","https://openalex.org/W2118578267","https://openalex.org/W2119871735","https://openalex.org/W2122315991","https://openalex.org/W2122858224","https://openalex.org/W2130642985","https://openalex.org/W2135144788","https://openalex.org/W2137259192","https://openalex.org/W2138512691","https://openalex.org/W2143932292","https://openalex.org/W2148167495","https://openalex.org/W2150101804","https://openalex.org/W2150708135","https://openalex.org/W2153185479","https://openalex.org/W2153876009","https://openalex.org/W2154697693","https://openalex.org/W2155028447","https://openalex.org/W2155070484","https://openalex.org/W2156000708","https://openalex.org/W2158543254","https://openalex.org/W2159726625","https://openalex.org/W2161818013","https://openalex.org/W2185470498","https://openalex.org/W2189465200","https://openalex.org/W2217945669","https://openalex.org/W2262876226","https://openalex.org/W2266823300","https://openalex.org/W2295831329","https://openalex.org/W2340838390","https://openalex.org/W2397097813","https://openalex.org/W2399620389","https://openalex.org/W2404114915","https://openalex.org/W2483146133","https://openalex.org/W2524165724","https://openalex.org/W2565050701","https://openalex.org/W2572804059","https://openalex.org/W2584555500","https://openalex.org/W2765206444","https://openalex.org/W2952451116","https://openalex.org/W2962773216","https://openalex.org/W3138135046","https://openalex.org/W3139669840","https://openalex.org/W4206278179","https://openalex.org/W4247541922","https://openalex.org/W4253004448","https://openalex.org/W4255327858","https://openalex.org/W6712432820"],"related_works":["https://openalex.org/W2941854747","https://openalex.org/W1977331029","https://openalex.org/W4361194359","https://openalex.org/W2955368753","https://openalex.org/W906795786","https://openalex.org/W2006459955","https://openalex.org/W1461606193","https://openalex.org/W1943557536","https://openalex.org/W621548904","https://openalex.org/W2794657471"],"abstract_inverted_index":{"Abstraction":[0],"without":[1,15],"regret":[2],"refers":[3],"to":[4,27,56,90,94,113,124,142,150,224,275],"the":[5,40,43,47,68,82,109,172,175,195,236,258,276],"vision":[6,29,66],"of":[7,38,70,130,174,231,239,260],"using":[8,261],"high-level":[9,83,110,232],"programming":[10,84,122],"languages":[11],"for":[12,42,169,234,265,287],"systems":[13,105],"development":[14],"experiencing":[16],"a":[17,77,127,140,143,210,227],"negative":[18],"impact":[19],"on":[20],"performance.":[21,267],"A":[22],"database":[23,104,213],"system":[24,263],"designed":[25],"according":[26],"this":[28,61,65],"offers":[30],"both":[31],"increased":[32],"productivity":[33],"and":[34,58,102,183,198],"high":[35],"performance":[36],"instead":[37,238],"sacrificing":[39],"former":[41],"latter":[44],"as":[45,133,214,216],"is":[46,93,244,272],"case":[48],"with":[49,152,171,194,202],"existing,":[50],"monolithic":[51],"implementations":[52],"that":[53,157,163,200,243],"are":[54,148,167],"hard":[55],"maintain":[57],"extend.":[59],"In":[60],"article,":[62],"we":[63],"realize":[64],"in":[67,81,285],"domain":[69],"analytical":[71],"query":[72,78,155,219,248,289],"processing.":[73],"We":[74,118,161,190],"present":[75],"LegoBase,":[76],"engine":[79],"written":[80],"language":[85],"Scala.":[86],"The":[87,269],"key":[88],"technique":[89],"regain":[91],"efficiency":[92],"apply":[95],"generative":[96,121],"programming:":[97],"LegoBase":[98],"performs":[99],"source-to-source":[100],"compilation":[101,249,270],"optimizes":[103],"code":[106,112,233,242],"by":[107,246],"converting":[108],"Scala":[111],"specialized,":[114],"low-level":[115,154,241],"C":[116],"code.":[117],"show":[119,199],"how":[120],"allows":[123],"easily":[125],"implement":[126],"wide":[128],"spectrum":[129],"optimizations,":[131,237],"such":[132],"introducing":[134],"data":[135,145],"partitioning":[136],"or":[137],"switching":[138],"from":[139,180,187],"row":[141],"column":[144],"layout,":[146],"which":[147],"difficult":[149],"achieve":[151],"existing":[153,218,247],"compilers":[156],"handle":[158],"only":[159],"queries.":[160],"demonstrate":[162],"sufficiently":[164],"powerful":[165],"abstractions":[166],"essential":[168],"dealing":[170],"complexity":[173],"optimization":[176],"effort,":[177],"shielding":[178],"developers":[179],"compiler":[181],"internals":[182],"decoupling":[184],"individual":[185],"optimizations":[186,204,253],"each":[188],"other.":[189],"evaluate":[191],"our":[192,206,282],"approach":[193,283],"TPC-H":[196],"benchmark":[197],"(a)":[201],"all":[203],"enabled,":[205],"architecture":[207],"significantly":[208],"outperforms":[209],"commercial":[211],"in-memory":[212],"well":[215],"an":[217],"compiler.":[220],"(b)":[221],"Programmers":[222],"need":[223],"provide":[225],"just":[226],"few":[228],"hundred":[229],"lines":[230],"implementing":[235],"complicated":[240],"required":[245],"approaches.":[250],"(c)":[251],"These":[252],"may":[254],"potentially":[255],"come":[256],"at":[257],"cost":[259],"more":[262],"memory":[264],"improved":[266],"(d)":[268],"overhead":[271],"low":[273],"compared":[274],"overall":[277],"execution":[278],"time,":[279],"thus":[280],"making":[281],"usable":[284],"practice":[286],"compiling":[288],"engines.":[290]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":6},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":9},{"year":2020,"cited_by_count":10},{"year":2019,"cited_by_count":3},{"year":2018,"cited_by_count":3}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
