{"id":"https://openalex.org/W6967287770","doi":"https://doi.org/10.5075/epfl-thesis-7508","title":"Building Efficient Query Engines using High-Level Languages","display_name":"Building Efficient Query Engines using High-Level Languages","publication_year":2017,"publication_date":"2017-01-01","ids":{"openalex":"https://openalex.org/W6967287770","doi":"https://doi.org/10.5075/epfl-thesis-7508"},"language":"en","primary_location":{"id":"pmh:oai:infoscience.tind.io:224444","is_oa":true,"landing_page_url":"https://infoscience.epfl.ch/handle/20.500.14299/132926","pdf_url":"https://infoscience.epfl.ch/record/224444/files/EPFL_TH7508.pdf","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":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"doctoral thesis"},"type":"dissertation","indexed_in":["datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://infoscience.epfl.ch/record/224444/files/EPFL_TH7508.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Klonatos, Ioannis","orcid":null},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Klonatos, Ioannis","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":true,"primary_topic":{"id":"https://openalex.org/T10317","display_name":"Advanced Database Systems and Queries","score":0.7042999863624573,"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.7042999863624573,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.03929999843239784,"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/T12127","display_name":"Software System Performance and Reliability","score":0.0340999998152256,"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/debugging","display_name":"Debugging","score":0.5263000130653381},{"id":"https://openalex.org/keywords/second-generation-programming-language","display_name":"Second-generation programming language","score":0.5170000195503235},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.47200000286102295},{"id":"https://openalex.org/keywords/lagging","display_name":"Lagging","score":0.42010000348091125},{"id":"https://openalex.org/keywords/fourth-generation-programming-language","display_name":"Fourth-generation programming language","score":0.4133000075817108},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.3882000148296356},{"id":"https://openalex.org/keywords/query-language","display_name":"Query language","score":0.3837999999523163},{"id":"https://openalex.org/keywords/third-generation-programming-language","display_name":"Third-generation programming language","score":0.3652999997138977}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7825999855995178},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.5263000130653381},{"id":"https://openalex.org/C11164408","wikidata":"https://www.wikidata.org/wiki/Q18657800","display_name":"Second-generation programming language","level":4,"score":0.5170000195503235},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4726000130176544},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.47200000286102295},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4424999952316284},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.4203999936580658},{"id":"https://openalex.org/C2776962539","wikidata":"https://www.wikidata.org/wiki/Q6472078","display_name":"Lagging","level":2,"score":0.42010000348091125},{"id":"https://openalex.org/C145628200","wikidata":"https://www.wikidata.org/wiki/Q238137","display_name":"Fourth-generation programming language","level":5,"score":0.4133000075817108},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.3882000148296356},{"id":"https://openalex.org/C192028432","wikidata":"https://www.wikidata.org/wiki/Q845739","display_name":"Query language","level":2,"score":0.3837999999523163},{"id":"https://openalex.org/C206146517","wikidata":"https://www.wikidata.org/wiki/Q1294375","display_name":"Third-generation programming language","level":5,"score":0.3652999997138977},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.36250001192092896},{"id":"https://openalex.org/C2780586970","wikidata":"https://www.wikidata.org/wiki/Q1357284","display_name":"Popularity","level":2,"score":0.3619999885559082},{"id":"https://openalex.org/C149091818","wikidata":"https://www.wikidata.org/wiki/Q2429814","display_name":"Software system","level":3,"score":0.3571000099182129},{"id":"https://openalex.org/C174220543","wikidata":"https://www.wikidata.org/wiki/Q395307","display_name":"Rollback","level":3,"score":0.33079999685287476},{"id":"https://openalex.org/C74149592","wikidata":"https://www.wikidata.org/wiki/Q762446","display_name":"Comparison of multi-paradigm programming languages","level":5,"score":0.3190999925136566},{"id":"https://openalex.org/C204983608","wikidata":"https://www.wikidata.org/wiki/Q2111958","display_name":"Productivity","level":2,"score":0.30649998784065247},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.2842999994754791},{"id":"https://openalex.org/C199305712","wikidata":"https://www.wikidata.org/wiki/Q3205914","display_name":"Fifth-generation programming language","level":3,"score":0.28130000829696655},{"id":"https://openalex.org/C61673122","wikidata":"https://www.wikidata.org/wiki/Q7095059","display_name":"Ontology language","level":3,"score":0.2605000138282776},{"id":"https://openalex.org/C19024347","wikidata":"https://www.wikidata.org/wiki/Q211496","display_name":"High-level programming language","level":3,"score":0.25769999623298645},{"id":"https://openalex.org/C2522767166","wikidata":"https://www.wikidata.org/wiki/Q2374463","display_name":"Data science","level":1,"score":0.25679999589920044}],"mesh":[],"locations_count":3,"locations":[{"id":"pmh:oai:infoscience.tind.io:224444","is_oa":true,"landing_page_url":"https://infoscience.epfl.ch/handle/20.500.14299/132926","pdf_url":"https://infoscience.epfl.ch/record/224444/files/EPFL_TH7508.pdf","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":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"doctoral thesis"},{"id":"pmh:oai:infoscience.epfl.ch:224444","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/224444","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":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Text"},{"id":"doi:10.5075/epfl-thesis-7508","is_oa":true,"landing_page_url":"https://doi.org/10.5075/epfl-thesis-7508","pdf_url":null,"source":{"id":"https://openalex.org/S4306400488","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"Dissertation"}],"best_oa_location":{"id":"pmh:oai:infoscience.tind.io:224444","is_oa":true,"landing_page_url":"https://infoscience.epfl.ch/handle/20.500.14299/132926","pdf_url":"https://infoscience.epfl.ch/record/224444/files/EPFL_TH7508.pdf","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":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"doctoral thesis"},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/9","score":0.4137956500053406,"display_name":"Industry, innovation and infrastructure"}],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W6967287770.pdf","grobid_xml":"https://content.openalex.org/works/W6967287770.grobid-xml"},"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"We":[0,142,412],"are":[1,42,95,140,362,432],"currently":[2],"witnessing":[3],"a":[4,117,133,193,284,289,295,342,378,389,426,468,485,490],"shift":[5,35],"towards":[6,483],"the":[7,20,46,70,76,105,114,182,190,201,212,216,229,266,270,298,370,394,400,406,440,454,480],"use":[8,177],"of":[9,40,50,58,72,75,116,136,186,192,203,206,219,273,297,346,349,372,408,429],"high-level":[10,110,147,178,290,395,456,491],"programming":[11,450],"languages":[12,28,54,111,179],"for":[13,25,29,132,158,228,241,257,269,317],"systems":[14,77,86,139],"development.":[15,188],"These":[16],"approaches":[17,375],"collide":[18],"with":[19,436],"traditional":[21],"wisdom":[22],"which":[23,361,431],"calls":[24],"using":[26,146,288],"low-level":[27,99,358,461],"building":[30],"efficient":[31,274],"software":[32,64,73,343],"systems.":[33],"This":[34],"is":[36,103,129,150,307,326,446,479],"necessary":[37],"as":[38,93,320,334],"billions":[39],"dollars":[41],"spent":[43],"annually":[44],"on":[45,249],"maintenance":[47],"and":[48,78,161,176,245,293,314,322,328,366,451,473],"debugging":[49],"performance-critical":[51],"software.":[52],"High-level":[53],"promise":[55],"faster":[56],"development":[57,87,202,352],"higher-quality":[59],"software;":[60],"by":[61,109,145,211,415],"offering":[62,416],"advanced":[63],"features,":[65],"they":[66],"help":[67],"to":[68,89,153,180,224,253,310,355,364,423,434,443,447,459],"reduce":[69],"number":[71],"errors":[74],"facilitate":[79],"their":[80],"verification.":[81],"Despite":[82],"these":[83,303],"benefits,":[84],"database":[85,138,187,213,471],"seems":[88],"be":[90,377],"lagging":[91],"behind":[92],"DBMSes":[94],"still":[96],"written":[97,392,488],"in":[98,166,393,405,489],"languages.":[100],"The":[101,277,324],"reason":[102],"that":[104,127,156],"increased":[106],"productivity":[107,160],"offered":[108],"comes":[112],"at":[113],"cost":[115],"pronounced":[118],"negative":[119],"performance":[120],"impact.":[121],"In":[122,368],"this":[123,167,171,222,262],"thesis,":[124],"we":[125,169,246,264,386],"argue":[126],"it":[128,149],"now":[130],"time":[131],"radical":[134],"rethinking":[135],"how":[137,414],"designed.":[141],"show":[143,413],"that,":[144],"languages,":[148],"indeed":[151],"possible":[152],"build":[154],"databases":[155],"allow":[157],"both":[159],"high":[162],"performance.":[163],"More":[164],"concretely,":[165],"thesis":[168],"follow":[170],"abstraction":[172,401],"without":[173,402],"regret":[174,403],"vision":[175,404],"address":[181,261],"following":[183],"two":[184,280],"problems":[185],"First,":[189],"introduction":[191,371],"new":[194,204,335,373],"storage":[195,336],"or":[196],"memory":[197,300],"technology":[198],"typically":[199],"requires":[200],"versions":[205],"most":[207],"out-of-core":[208,258,275,332],"algorithms":[209,244,316,333],"employed":[210],"system.":[214],"Given":[215],"increasing":[217],"popularity":[218],"hardware":[220],"specialization,":[221],"leads":[223],"an":[225,474],"arms":[226],"race":[227],"developers.":[230],"To":[231,260,382],"make":[232],"things":[233],"even":[234],"worse,":[235],"there":[236],"exists":[237],"no":[238],"clear":[239],"methodology":[240],"creating":[242],"such":[243,319,384],"must":[247],"rely":[248],"significant":[250],"creative":[251],"effort":[252],"serve":[254],"our":[255,305,420],"need":[256],"algorithms.":[259,276],"issue,":[263],"present":[265,387],"OCAS":[267],"framework":[268,325],"automatic":[271],"synthesis":[272],"developer":[278],"provides":[279],"independent":[281],"inputs:":[282],"1)":[283],"memory-hierarchy-oblivious":[285],"algorithm,":[286],"expressed":[287],"specification":[291],"language;":[292],"2)":[294],"description":[296],"target":[299],"hierarchy.":[301],"Using":[302],"specifications,":[304],"system":[306,421,472],"then":[308],"able":[309],"automatically":[311],"synthesize":[312],"memory-hierarchy":[313],"storage-device-aware":[315],"tasks":[318],"joins":[321],"sorting.":[323],"extensible":[327],"quickly":[329],"synthesizes":[330],"custom":[331],"technologies":[337],"become":[338],"available.":[339],"Second,":[340],"from":[341],"engineering":[344],"point":[345],"view,":[347],"years":[348],"performance-driven":[350],"DBMS":[351,487],"have":[353],"led":[354],"complicated,":[356],"monolithic,":[357],"code":[359,458],"bases,":[360],"hard":[363],"maintain":[365],"extend.":[367],"particular,":[369],"innovative":[374],"can":[376],"very":[379],"time-consuming":[380],"task.":[381],"overcome":[383],"limitations,":[385],"LegoBase,":[388],"query":[390,410,476],"engine":[391],"language,":[396],"Scala.":[397],"LegoBase":[398,478],"realizes":[399],"domain":[407],"analytical":[409],"processing.":[411],"sufficiently":[417],"powerful":[418],"abstractions":[419],"allows":[422],"easily":[424],"implement":[425],"broad":[427],"spectrum":[428],"optimizations":[430],"difficult":[433],"achieve":[435],"existing":[437,475],"approaches.":[438],"Then,":[439],"key":[441],"technique":[442],"regain":[444],"efficiency":[445],"apply":[448],"generative":[449],"source-to-source":[452],"compile":[453],"entire":[455],"Scala":[457],"specialized,":[460],"C":[462],"code.":[463],"Our":[464],"architecture":[465],"significantly":[466],"outperforms":[467],"commercial":[469],"in-memory":[470],"compiler.":[477],"first":[481],"step":[482],"providing":[484],"full":[486],"language.":[492]},"counts_by_year":[],"updated_date":"2026-07-01T06:00:48.157686","created_date":"2025-10-10T00:00:00"}
