{"id":"https://openalex.org/W2156000708","doi":"https://doi.org/10.14778/2732951.2732959","title":"Building efficient query engines in a high-level language","display_name":"Building efficient query engines in a high-level language","publication_year":2014,"publication_date":"2014-06-01","ids":{"openalex":"https://openalex.org/W2156000708","doi":"https://doi.org/10.14778/2732951.2732959","mag":"2156000708"},"language":"en","primary_location":{"id":"doi:10.14778/2732951.2732959","is_oa":false,"landing_page_url":"https://doi.org/10.14778/2732951.2732959","pdf_url":null,"source":{"id":"https://openalex.org/S4210226185","display_name":"Proceedings of the VLDB Endowment","issn_l":"2150-8097","issn":["2150-8097"],"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":"Proceedings of the VLDB Endowment","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"http://infoscience.epfl.ch/record/198693","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","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":["\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne (EPFL)"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne (EPFL)","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","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":["\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne (EPFL)"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne (EPFL)","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5003153354","display_name":"Tiark Rompf","orcid":"https://orcid.org/0000-0002-2068-3238"},"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":"Tiark Rompf","raw_affiliation_strings":["\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne (EPFL)"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne (EPFL)","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5047912647","display_name":"Hassan Chafi","orcid":"https://orcid.org/0009-0003-1172-0409"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Hassan Chafi","raw_affiliation_strings":["Oracle Labs"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Oracle Labs","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":16.0197,"has_fulltext":false,"cited_by_count":99,"citation_normalized_percentile":{"value":0.99254432,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":91,"max":100},"biblio":{"volume":"7","issue":"10","first_page":"853","last_page":"864"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10317","display_name":"Advanced Database Systems and Queries","score":0.9986000061035156,"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"}},"topics":[{"id":"https://openalex.org/T10317","display_name":"Advanced Database Systems and Queries","score":0.9986000061035156,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9973000288009644,"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9948999881744385,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.883091926574707},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6299071311950684},{"id":"https://openalex.org/keywords/query-optimization","display_name":"Query optimization","score":0.6180334687232971},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6167965531349182},{"id":"https://openalex.org/keywords/query-language","display_name":"Query language","score":0.5598834753036499},{"id":"https://openalex.org/keywords/sargable","display_name":"Sargable","score":0.5271437168121338},{"id":"https://openalex.org/keywords/query-plan","display_name":"Query plan","score":0.4832078218460083},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.46400776505470276},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.45155322551727295},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.432081401348114},{"id":"https://openalex.org/keywords/scala","display_name":"Scala","score":0.414086252450943},{"id":"https://openalex.org/keywords/web-search-query","display_name":"Web search query","score":0.32544875144958496},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.26858943700790405},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.21963763236999512},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.2100508213043213},{"id":"https://openalex.org/keywords/search-engine","display_name":"Search engine","score":0.18948200345039368},{"id":"https://openalex.org/keywords/information-retrieval","display_name":"Information retrieval","score":0.17272180318832397},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.15725082159042358}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.883091926574707},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6299071311950684},{"id":"https://openalex.org/C157692150","wikidata":"https://www.wikidata.org/wiki/Q2919848","display_name":"Query optimization","level":2,"score":0.6180334687232971},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6167965531349182},{"id":"https://openalex.org/C192028432","wikidata":"https://www.wikidata.org/wiki/Q845739","display_name":"Query language","level":2,"score":0.5598834753036499},{"id":"https://openalex.org/C192939062","wikidata":"https://www.wikidata.org/wiki/Q104840822","display_name":"Sargable","level":4,"score":0.5271437168121338},{"id":"https://openalex.org/C2779729312","wikidata":"https://www.wikidata.org/wiki/Q784232","display_name":"Query plan","level":5,"score":0.4832078218460083},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.46400776505470276},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.45155322551727295},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.432081401348114},{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.414086252450943},{"id":"https://openalex.org/C164120249","wikidata":"https://www.wikidata.org/wiki/Q995982","display_name":"Web search query","level":3,"score":0.32544875144958496},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.26858943700790405},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.21963763236999512},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.2100508213043213},{"id":"https://openalex.org/C97854310","wikidata":"https://www.wikidata.org/wiki/Q19541","display_name":"Search engine","level":2,"score":0.18948200345039368},{"id":"https://openalex.org/C23123220","wikidata":"https://www.wikidata.org/wiki/Q816826","display_name":"Information retrieval","level":1,"score":0.17272180318832397},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.15725082159042358},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.14778/2732951.2732959","is_oa":false,"landing_page_url":"https://doi.org/10.14778/2732951.2732959","pdf_url":null,"source":{"id":"https://openalex.org/S4210226185","display_name":"Proceedings of the VLDB Endowment","issn_l":"2150-8097","issn":["2150-8097"],"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":"Proceedings of the VLDB Endowment","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.433.5986","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.433.5986","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.vldb.org/pvldb/vol7/p853-klonatos.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.697.5449","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.697.5449","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://infoscience.epfl.ch/record/198693/files/801-klonatos.pdf","raw_type":"text"},{"id":"pmh:oai:infoscience.tind.io:198693","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/198693","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":null,"raw_type":"conference proceedings"}],"best_oa_location":{"id":"pmh:oai:infoscience.tind.io:198693","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/198693","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":null,"raw_type":"conference proceedings"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":33,"referenced_works":["https://openalex.org/W1557658176","https://openalex.org/W1605782097","https://openalex.org/W1877845091","https://openalex.org/W1969877208","https://openalex.org/W2005112390","https://openalex.org/W2008070495","https://openalex.org/W2015787982","https://openalex.org/W2064514251","https://openalex.org/W2083355374","https://openalex.org/W2093793584","https://openalex.org/W2094455839","https://openalex.org/W2100542992","https://openalex.org/W2105079611","https://openalex.org/W2106771621","https://openalex.org/W2106911865","https://openalex.org/W2112491581","https://openalex.org/W2113640782","https://openalex.org/W2116094274","https://openalex.org/W2116420167","https://openalex.org/W2122315991","https://openalex.org/W2133300302","https://openalex.org/W2138512691","https://openalex.org/W2150101804","https://openalex.org/W2154697693","https://openalex.org/W2155070484","https://openalex.org/W2159726625","https://openalex.org/W2200545814","https://openalex.org/W2295831329","https://openalex.org/W3138135046","https://openalex.org/W3138367763","https://openalex.org/W4206278179","https://openalex.org/W4250587856","https://openalex.org/W4255327858"],"related_works":["https://openalex.org/W2941854747","https://openalex.org/W1977331029","https://openalex.org/W4361194359","https://openalex.org/W906795786","https://openalex.org/W1461606193","https://openalex.org/W2955368753","https://openalex.org/W2006459955","https://openalex.org/W2026994352","https://openalex.org/W203907944","https://openalex.org/W1943557536"],"abstract_inverted_index":{"In":[0],"this":[1],"paper":[2],"we":[3,43],"advocate":[4],"that":[5,70,84,109,179,188],"it":[6,121],"is":[7,62,79,180,193],"time":[8],"for":[9,208],"a":[10,30,46,81,104,148,167],"radical":[11],"rethinking":[12],"of":[13,38,95,107,171,175],"database":[14,151],"systems":[15],"design.":[16],"Developers":[17],"should":[18],"be":[19],"able":[20],"to":[21,28,59,63,101,112,196],"leverage":[22],"high-level":[23,52,77,96,172],"programming":[24,53,99,165],"languages":[25],"without":[26,40],"having":[27],"pay":[29],"price":[31],"in":[32,50,206],"efficiency.":[33],"To":[34],"realize":[35],"our":[36,130,144,203],"vision":[37],"abstraction":[39],"regret":[41],",":[42],"present":[44],"LegoBase,":[45],"query":[47,73,117,126,158,184,211],"engine":[48],"written":[49],"the":[51,67,72,93,125,133,190,197],"language":[54],"Scala.":[55],"The":[56],"key":[57],"technique":[58],"regain":[60],"efficiency":[61],"apply":[64],"generative":[65,98],"programming:":[66],"Scala":[68],"code":[69,173,178],"constitutes":[71],"engine,":[74],"despite":[75],"its":[76],"appearance,":[78],"actually":[80],"program":[82],"generator":[83],"emits":[85],"specialized,":[86],"low-level":[87,116,177],"C":[88],"code.":[89],"We":[90,128],"show":[91,137],"how":[92,120],"combination":[94],"and":[97,119,136],"allows":[100],"easily":[102],"implement":[103],"wide":[105],"spectrum":[106],"optimizations":[108,142],"are":[110],"difficult":[111],"achieve":[113],"with":[114,132,140],"existing":[115,157,183],"compilers,":[118],"can":[122],"continuously":[123],"optimize":[124],"engine.":[127],"evaluate":[129],"approach":[131,204],"TPC-H":[134],"benchmark":[135],"that:":[138],"(a)":[139],"all":[141],"enabled,":[143],"architecture":[145],"significantly":[146],"outperforms":[147],"commercial":[149],"in-memory":[150],"system":[152],"as":[153,155],"well":[154],"an":[156],"compiler,":[159],"(b)":[160],"these":[161],"performance":[162],"improvements":[163],"require":[164],"just":[166],"few":[168],"hundred":[169],"lines":[170],"instead":[174],"complicated":[176],"required":[181],"by":[182],"compilers":[185],"and,":[186],"finally,":[187],"(c)":[189],"compilation":[191],"overhead":[192],"low":[194],"compared":[195],"overall":[198],"execution":[199],"time,":[200],"thus":[201],"making":[202],"usable":[205],"practice":[207],"efficiently":[209],"compiling":[210],"engines.":[212]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":4},{"year":2021,"cited_by_count":11},{"year":2020,"cited_by_count":10},{"year":2019,"cited_by_count":6},{"year":2018,"cited_by_count":17},{"year":2017,"cited_by_count":14},{"year":2016,"cited_by_count":14},{"year":2015,"cited_by_count":16},{"year":2014,"cited_by_count":2}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
