{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,8]],"date-time":"2026-02-08T08:55:43Z","timestamp":1770540943317,"version":"3.49.0"},"reference-count":127,"publisher":"Association for Computing Machinery (ACM)","issue":"2","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2021,10]]},"abstract":"<jats:p>\n            Today's users of data processing systems come from different domains, have different levels of expertise, and prefer different programming languages. As a result, analytical workload requirements shifted from relational to\n            <jats:italic>polyglot<\/jats:italic>\n            queries involving user-defined functions (UDFs). Although some data processing systems support polyglot queries, they often embed third-party language runtimes. This embedding induces a high performance overhead, as it causes additional data materialization between execution engines.\n          <\/jats:p>\n          <jats:p>In this paper, we present Babelfish, a novel data processing engine designed for polyglot queries. Babelfish introduces an intermediate representation that unifies queries from different implementation languages. This enables new, holistic optimizations across operator and language boundaries, e.g., operator fusion and workload specialization. As a result, Babelfish avoids data transfers and enables efficient utilization of hardware resources. Our evaluation shows that Babelfish outperforms state-of-the-art data processing systems by up to one order of magnitude and reaches the performance of handwritten code. With Babelfish, we bridge the performance gap between relational and multi-language UDFs and lay the foundation for the efficient execution of future polyglot workloads.<\/jats:p>","DOI":"10.14778\/3489496.3489501","type":"journal-article","created":{"date-parts":[[2022,2,5]],"date-time":"2022-02-05T00:28:36Z","timestamp":1644020916000},"page":"196-210","source":"Crossref","is-referenced-by-count":22,"title":["Babelfish"],"prefix":"10.14778","volume":"15","author":[{"given":"Philipp Marian","family":"Grulich","sequence":"first","affiliation":[{"name":"Technische Universitat Berlin"}]},{"given":"Steffen","family":"Zeuch","sequence":"additional","affiliation":[{"name":"Technische Universitat Berlin"}]},{"given":"Volker","family":"Markl","sequence":"additional","affiliation":[{"name":"Technische Universitat Berlin"}]}],"member":"320","published-online":{"date-parts":[[2022,2,4]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"2016. Spark functions vs UDF performance? https:\/\/stackoverflow.com\/questions\/38296609\/spark-functions-vs-udf-performance.  2016. Spark functions vs UDF performance? https:\/\/stackoverflow.com\/questions\/38296609\/spark-functions-vs-udf-performance."},{"key":"e_1_2_1_2_1","volume-title":"Jet: An embedded DSL for high performance big data processing. In BigData.","author":"Ackermann Stefan","year":"2012","unstructured":"Stefan Ackermann , Vojin Jovanovic , Tiark Rompf , and Martin Odersky . 2012 . Jet: An embedded DSL for high performance big data processing. In BigData. Stefan Ackermann, Vojin Jovanovic, Tiark Rompf, and Martin Odersky. 2012. Jet: An embedded DSL for high performance big data processing. In BigData."},{"key":"e_1_2_1_3_1","volume-title":"The Hitchhiker's Guide to the Galaxy","author":"Adams Douglas","unstructured":"Douglas Adams . 1979. The Hitchhiker's Guide to the Galaxy . Pan Books . Douglas Adams. 1979. The Hitchhiker's Guide to the Galaxy. Pan Books."},{"key":"e_1_2_1_4_1","volume-title":"Apache Spark as a Compiler: Joining a Billion Rows per Second on a Laptop. https:\/\/databricks.com\/blog\/2016\/05\/23\/apache-spark-as-a-compiler-joining-a-billion-rows-per-second-on-a-laptop.html. [Online","author":"Agarwal Sameer","year":"2019","unstructured":"Sameer Agarwal , Davies Liu , and Reynold Xin . 2016. Apache Spark as a Compiler: Joining a Billion Rows per Second on a Laptop. https:\/\/databricks.com\/blog\/2016\/05\/23\/apache-spark-as-a-compiler-joining-a-billion-rows-per-second-on-a-laptop.html. [Online ; accessed 31.5. 2019 ]. Sameer Agarwal, Davies Liu, and Reynold Xin. 2016. Apache Spark as a Compiler: Joining a Billion Rows per Second on a Laptop. https:\/\/databricks.com\/blog\/2016\/05\/23\/apache-spark-as-a-compiler-joining-a-billion-rows-per-second-on-a-laptop.html. [Online; accessed 31.5.2019]."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.14778\/3236187.3236195"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2723372.2750543"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/3183713.3190664"},{"key":"e_1_2_1_8_1","unstructured":"Suresh Basinasetty. 2021. User Defined Functions in SQL. https:\/\/www.tutorialgateway.org\/user-defined-functions-in-sql\/.  Suresh Basinasetty. 2021. User Defined Functions in SQL. https:\/\/www.tutorialgateway.org\/user-defined-functions-in-sql\/."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380251203"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1565824.1565827"},{"key":"e_1_2_1_11_1","unstructured":"Peter A Boncz Marcin Zukowski and Niels Nes. 2005. MonetDB\/X100: Hyper-Pipelining Query Execution.. In CIDR.  Peter A Boncz Marcin Zukowski and Niels Nes. 2005. MonetDB\/X100: Hyper-Pipelining Query Execution.. In CIDR."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/3399666.3399908"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-018-0512-y"},{"key":"e_1_2_1_14_1","volume-title":"Memory Data Management and Analysis","author":"Broneske David","unstructured":"David Broneske , Sebastian Bre\u00df , and Gunter Saake . 2013. Database scan variants on modern CPUs: A performance study . In In Memory Data Management and Analysis . Springer . David Broneske, Sebastian Bre\u00df, and Gunter Saake. 2013. Database scan variants on modern CPUs: A performance study. In In Memory Data Management and Analysis. Springer."},{"key":"e_1_2_1_15_1","volume-title":"Apache flink: Stream and batch processing in a single engine. TCDE","author":"Carbone Paris","year":"2015","unstructured":"Paris Carbone , Asterios Katsifodimos , Stephan Ewen , Volker Markl , Seif Haridi , and Kostas Tzoumas . 2015. Apache flink: Stream and batch processing in a single engine. TCDE ( 2015 ). Paris Carbone, Asterios Katsifodimos, Stephan Ewen, Volker Markl, Seif Haridi, and Kostas Tzoumas. 2015. Apache flink: Stream and batch processing in a single engine. TCDE (2015)."},{"key":"e_1_2_1_16_1","volume-title":"Operations on records. Mathematical structures in computer science","author":"Cardelli Luca","year":"1991","unstructured":"Luca Cardelli and John C Mitchell . 1991. Operations on records. Mathematical structures in computer science ( 1991 ). Luca Cardelli and John C Mitchell. 1991. Operations on records. Mathematical structures in computer science (1991)."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.14778\/2735496.2735503"},{"key":"e_1_2_1_18_1","volume-title":"Trill: Engineering a Library for Diverse Analytics","author":"Chandramouli Badrish","year":"2015","unstructured":"Badrish Chandramouli , Jonathan Goldstein , Mike Barnett , and James F Terwilliger . 2015 . Trill: Engineering a Library for Diverse Analytics . IEEE Data Engineering Bulletin ( 2015). Badrish Chandramouli, Jonathan Goldstein, Mike Barnett, and James F Terwilliger. 2015. Trill: Engineering a Library for Diverse Analytics. IEEE Data Engineering Bulletin (2015)."},{"key":"e_1_2_1_19_1","unstructured":"Kun Cheng. 2011. A Computed Column Defined with a User-Defined Function Might Impact Query Performance. https:\/\/blogs.msdn.microsoft.com\/sqlcat\/2011\/11\/28\/a-computed-column-defined-with-a-user-defined-function-might-impact-query-performance\/.  Kun Cheng. 2011. A Computed Column Defined with a User-Defined Function Might Impact Query Performance. https:\/\/blogs.msdn.microsoft.com\/sqlcat\/2011\/11\/28\/a-computed-column-defined-with-a-user-defined-function-might-impact-query-performance\/."},{"key":"e_1_2_1_20_1","unstructured":"Alvin Cheung Owen Arden Samuel Madden Armando Solar-Lezama and Andrew C Myers. 2013. StatusQuo: Making Familiar Abstractions Perform Using Program Analysis.. In CIDR.  Alvin Cheung Owen Arden Samuel Madden Armando Solar-Lezama and Andrew C Myers. 2013. StatusQuo: Making Familiar Abstractions Perform Using Program Analysis.. In CIDR."},{"key":"e_1_2_1_21_1","volume-title":"Using Program Analysis to Improve Database Applications. Data Engineering Bulletin","author":"Cheung Alvin","year":"2014","unstructured":"Alvin Cheung , Samuel Madden , Armando Solar-Lezama , Owen Arden , and Andrew C Myers . 2014. Using Program Analysis to Improve Database Applications. Data Engineering Bulletin ( 2014 ). Alvin Cheung, Samuel Madden, Armando Solar-Lezama, Owen Arden, and Andrew C Myers. 2014. Using Program Analysis to Improve Database Applications. Data Engineering Bulletin (2014)."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2499370.2462180"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.14778\/2824032.2824045"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/115372.115320"},{"key":"e_1_2_1_25_1","volume-title":"Thierry Coppey, Amir Shaikhha, Vojin Jovanovic, and Christoph Koch.","author":"Dashti Mohammad","year":"2018","unstructured":"Mohammad Dashti , Sachin Basil John , Thierry Coppey, Amir Shaikhha, Vojin Jovanovic, and Christoph Koch. 2018 . Compiling Database Application Programs. CIDR ( 2018). Mohammad Dashti, Sachin Basil John, Thierry Coppey, Amir Shaikhha, Vojin Jovanovic, and Christoph Koch. 2018. Compiling Database Application Programs. CIDR (2018)."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/3078597.3078599"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2542142.2542143"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/3318464.3389707"},{"key":"e_1_2_1_29_1","unstructured":"Christian Duta Denis Hirn and Torsten Grust. 2019. Compiling PL\/SQL Away In CIDR. arXiv preprint arXiv.1909.03291.  Christian Duta Denis Hirn and Torsten Grust. 2019. Compiling PL\/SQL Away In CIDR. arXiv preprint arXiv.1909.03291."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/309844.310075"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3035918.3058747"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2882926"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.5555\/3291168.3291227"},{"key":"e_1_2_1_34_1","unstructured":"Claudio Davide Ferrara. [n.d.]. Light up the Spark in catalyst by avoiding UDF. https:\/\/www.codemotion.com\/magazine\/light-up-the-spark-in-catalyst-by-avoiding-udf-4061.  Claudio Davide Ferrara. [n.d.]. Light up the Spark in catalyst by avoiding UDF. https:\/\/www.codemotion.com\/magazine\/light-up-the-spark-in-catalyst-by-avoiding-udf-4061."},{"key":"e_1_2_1_35_1","volume-title":"DryadLINQ: A system for general-purpose distributed data-parallel computing using a high-level language. LSDS-IR","author":"Michael Isard Dennis Fetterly Yuan Yu","year":"2009","unstructured":"Yuan Yu Michael Isard Dennis Fetterly , Mihai Budiu , \u00dalfar Erlingsson , and Pradeep Kumar Gunda Jon Currey . 2009. DryadLINQ: A system for general-purpose distributed data-parallel computing using a high-level language. LSDS-IR ( 2009 ). Yuan Yu Michael Isard Dennis Fetterly, Mihai Budiu, \u00dalfar Erlingsson, and Pradeep Kumar Gunda Jon Currey. 2009. DryadLINQ: A system for general-purpose distributed data-parallel computing using a high-level language. LSDS-IR (2009)."},{"key":"e_1_2_1_36_1","unstructured":"Python Software Foundation. 2020. CPython. https:\/\/github.com\/python\/cpython.  Python Software Foundation. 2020. CPython. https:\/\/github.com\/python\/cpython."},{"key":"e_1_2_1_37_1","unstructured":"Python Software Foundation. 2020. Duck-Typing. https:\/\/docs.python.org\/3\/glossary.html#term-duck-typing.  Python Software Foundation. 2020. Duck-Typing. https:\/\/docs.python.org\/3\/glossary.html#term-duck-typing."},{"key":"e_1_2_1_38_1","unstructured":"Python Software Foundation. 2021. C-API. https:\/\/docs.python.org\/3\/c-api\/.  Python Software Foundation. 2021. C-API. https:\/\/docs.python.org\/3\/c-api\/."},{"key":"e_1_2_1_39_1","unstructured":"The Apache Software Foundation. 2021. Apache Arrow. https:\/\/arrow.apache.org\/.  The Apache Software Foundation. 2021. Apache Arrow. https:\/\/arrow.apache.org\/."},{"key":"e_1_2_1_40_1","volume-title":"Compilation in the Microsoft SQL Server Hekaton Engine","author":"Freedman Craig","year":"2014","unstructured":"Craig Freedman , Erik Ismert , and Per-\u00c5ke Larson . 2014. Compilation in the Microsoft SQL Server Hekaton Engine . IEEE Data Engineering Bulletin ( 2014 ). Craig Freedman, Erik Ismert, and Per-\u00c5ke Larson. 2014. Compilation in the Microsoft SQL Server Hekaton Engine. IEEE Data Engineering Bulletin (2014)."},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/3399666.3399925"},{"key":"e_1_2_1_42_1","volume-title":"Partial evaluation of computation process-an approach to a compiler-compiler. Systems, computers, controls","author":"Futamura Yoshihiko","year":"1971","unstructured":"Yoshihiko Futamura . 1971. Partial evaluation of computation process-an approach to a compiler-compiler. Systems, computers, controls ( 1971 ). Yoshihiko Futamura. 1971. Partial evaluation of computation process-an approach to a compiler-compiler. Systems, computers, controls (1971)."},{"key":"e_1_2_1_43_1","volume-title":"Computation Offloading in JVM-based Dataflow Engines. BTW","author":"Gavriilidis Haralampos","year":"2019","unstructured":"Haralampos Gavriilidis . 2019. Computation Offloading in JVM-based Dataflow Engines. BTW ( 2019 ). Haralampos Gavriilidis. 2019. Computation Offloading in JVM-based Dataflow Engines. BTW (2019)."},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/3448016.3457287"},{"key":"e_1_2_1_45_1","volume-title":"Labyrinth: Compiling imperative control flow to parallel dataflows. arXiv preprint arXiv:1809.06845","author":"G\u00e9vay G\u00e1bor E","year":"2018","unstructured":"G\u00e1bor E G\u00e9vay , Tilmann Rabl , Sebastian Bre\u00df , Lor\u00e1nd Madai-Tahy , and Volker Markl . 2018 . Labyrinth: Compiling imperative control flow to parallel dataflows. arXiv preprint arXiv:1809.06845 (2018). G\u00e1bor E G\u00e9vay, Tilmann Rabl, Sebastian Bre\u00df, Lor\u00e1nd Madai-Tahy, and Volker Markl. 2018. Labyrinth: Compiling imperative control flow to parallel dataflows. arXiv preprint arXiv:1809.06845 (2018)."},{"key":"e_1_2_1_46_1","volume-title":"Efficient control flow in dataflow systems: When ease-of-use meets high performance","author":"G\u00e9vay G\u00e1bor E","unstructured":"G\u00e1bor E G\u00e9vay , Tilmann Rabl , Sebastian Bre\u00df , Lor\u00e1nd Madai-Tahy , Jorge-Arnulfo Quian\u00e9-Ruiz , and Volker Markl . 2021. Efficient control flow in dataflow systems: When ease-of-use meets high performance . In ICDE. IEEE. G\u00e1bor E G\u00e9vay, Tilmann Rabl, Sebastian Bre\u00df, Lor\u00e1nd Madai-Tahy, Jorge-Arnulfo Quian\u00e9-Ruiz, and Volker Markl. 2021. Efficient control flow in dataflow systems: When ease-of-use meets high performance. In ICDE. IEEE."},{"key":"e_1_2_1_47_1","unstructured":"Google. 2020. v8. https:\/\/v8.dev\/.  Google. 2020. v8. https:\/\/v8.dev\/."},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/69.273032"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/2936313.2816714"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/3318464.3389739"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.5555\/2387880.2387893"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/3318464.3389736"},{"key":"e_1_2_1_53_1","unstructured":"Stefan Hagedorn Steffen Kl\u00e4be and Kai-Uwe Sattler. 2021. Putting Pandas in a Box.. In CIDR.  Stefan Hagedorn Steffen Kl\u00e4be and Kai-Uwe Sattler. 2021. Putting Pandas in a Box.. In CIDR."},{"key":"e_1_2_1_54_1","unstructured":"Chuck Heinzelman. 2011. https:\/\/blogs.msdn.microsoft.com\/sqlcat\/2011\/06\/24\/unintended-consequences-of-scalar-valued-user-defined-functions\/.  Chuck Heinzelman. 2011. https:\/\/blogs.msdn.microsoft.com\/sqlcat\/2011\/06\/24\/unintended-consequences-of-scalar-valued-user-defined-functions\/."},{"key":"e_1_2_1_55_1","unstructured":"Arvid Heise Astrid Rheinl\u00e4nder Marcus Leich Ulf Leser and Felix Naumann. 2012. Meteor\/sopremo: An extensible query language and operator model. In BigData. Citeseer.  Arvid Heise Astrid Rheinl\u00e4nder Marcus Leich Ulf Leser and Felix Naumann. 2012. Meteor\/sopremo: An extensible query language and operator model. In BigData. Citeseer."},{"key":"e_1_2_1_56_1","unstructured":"IBM. 2020. Avoid UDFs as join predicates. https:\/\/www.ibm.com\/support\/knowledgecenter\/en\/SSPT3X_4.2.0\/com.ibm.swg.im.infosphere.biginsights.text.doc\/doc\/ana_txtan_udf-join-guideline.html.  IBM. 2020. Avoid UDFs as join predicates. https:\/\/www.ibm.com\/support\/knowledgecenter\/en\/SSPT3X_4.2.0\/com.ibm.swg.im.infosphere.biginsights.text.doc\/doc\/ana_txtan_udf-join-guideline.html."},{"key":"e_1_2_1_57_1","unstructured":"Stratos Idreos Ioannis Alagiannis Ryan Johnson and Anastasia Ailamaki. 2011. Here are my data files. here are my queries. where are my results?. In CIDR.  Stratos Idreos Ioannis Alagiannis Ryan Johnson and Anastasia Ailamaki. 2011. Here are my data files. here are my queries. where are my results?. In CIDR."},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/3297663.3310300"},{"key":"e_1_2_1_59_1","volume-title":"Andreas Mueller, et al.","author":"Jindal Alekh","year":"2021","unstructured":"Alekh Jindal , K Venkatesh Emani , Maureen Daum , Olga Poppe , Brandon Haynes , Anna Pavlenko , Ayushi Gupta , Karthik Ramachandra , Carlo Curino , Andreas Mueller, et al. 2021 . Magpie : Python at speed and scale using cloud backends. In CIDR. Alekh Jindal, K Venkatesh Emani, Maureen Daum, Olga Poppe, Brandon Haynes, Anna Pavlenko, Ayushi Gupta, Karthik Ramachandra, Carlo Curino, Andreas Mueller, et al. 2021. Magpie: Python at speed and scale using cloud backends. In CIDR."},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/243439.243447"},{"key":"e_1_2_1_61_1","unstructured":"Konstantinos Karanasos Matteo Interlandi Doris Xin Fotis Psallidas Rathijit Sen Kwanghyun Park Ivan Popivanov Supun Nakandal Subru Krishnan Markus Weimer etal 2020. Extending relational query processing with ML inference. In CIDR.  Konstantinos Karanasos Matteo Interlandi Doris Xin Fotis Psallidas Rathijit Sen Kwanghyun Park Ivan Popivanov Supun Nakandal Subru Krishnan Markus Weimer et al. 2020. Extending relational query processing with ML inference. In CIDR."},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.14778\/2994509.2994516"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.5555\/3275366.3284966"},{"key":"e_1_2_1_64_1","doi-asserted-by":"crossref","unstructured":"Timo Kersten Viktor Leis and Thomas Neumann. 2021. Tidy Tuples and Flying Start: Fast Compilation and Fast Execution of Relational Queries in Umbra. VLDB J. (2021).  Timo Kersten Viktor Leis and Thomas Neumann. 2021. Tidy Tuples and Flying Start: Fast Compilation and Fast Execution of Relational Queries in Umbra. VLDB J. (2021).","DOI":"10.1007\/s00778-020-00643-4"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732951.2732959"},{"key":"e_1_2_1_66_1","volume-title":"Adaptive execution of compiled queries","author":"Kohn Andr\u00e9","unstructured":"Andr\u00e9 Kohn , Viktor Leis , and Thomas Neumann . 2018. Adaptive execution of compiled queries . In ICDE. IEEE. Andr\u00e9 Kohn, Viktor Leis, and Thomas Neumann. 2018. Adaptive execution of compiled queries. In ICDE. IEEE."},{"key":"e_1_2_1_67_1","unstructured":"Hugo Kornelis. 2012. T-SQL User-Defined Functions: the good the bad and the ugly. https:\/\/sqlserverfast.com\/blog\/hugo\/2012\/05\/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-1\/.  Hugo Kornelis. 2012. T-SQL User-Defined Functions: the good the bad and the ugly. https:\/\/sqlserverfast.com\/blog\/hugo\/2012\/05\/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-1\/."},{"key":"e_1_2_1_68_1","volume-title":"Generating code for holistic query evaluation","author":"Krikellas Konstantinos","unstructured":"Konstantinos Krikellas , Stratis D Viglas , and Marcelo Cintra . 2010. Generating code for holistic query evaluation . In ICDE. IEEE. Konstantinos Krikellas, Stratis D Viglas, and Marcelo Cintra. 2010. Generating code for holistic query evaluation. In ICDE. IEEE."},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.14778\/3342263.3342633"},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1145\/3267809.3267813"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1145\/2833157.2833162"},{"key":"e_1_2_1_72_1","unstructured":"Jacek Laskowski. 2021. UDFs are Blackbox-Don't Use Them Unless You've Got No Choice. https:\/\/jaceklaskowski.gitbooks.io\/mastering-spark-sql\/spark-sql-udfs-blackbox.html.  Jacek Laskowski. 2021. UDFs are Blackbox-Don't Use Them Unless You've Got No Choice. https:\/\/jaceklaskowski.gitbooks.io\/mastering-spark-sql\/spark-sql-udfs-blackbox.html."},{"key":"e_1_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1145\/3281287.3281290"},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.5555\/520155"},{"key":"e_1_2_1_75_1","volume-title":"Technologie und Web (BTW 2017)","author":"Mandl Stefan","year":"2017","unstructured":"Stefan Mandl , Oleksandr Kozachuk , and Jens Graupmann . 2017. Bring Your Language to Your Data with EXASOL. Datenbanksysteme f\u00fcr Business , Technologie und Web (BTW 2017) ( 2017 ). Stefan Mandl, Oleksandr Kozachuk, and Jens Graupmann. 2017. Bring Your Language to Your Data with EXASOL. Datenbanksysteme f\u00fcr Business, Technologie und Web (BTW 2017) (2017)."},{"key":"e_1_2_1_76_1","doi-asserted-by":"crossref","unstructured":"Wes McKinney etal 2010. Data structures for statistical computing in python. In SCIPY.  Wes McKinney et al. 2010. Data structures for statistical computing in python. In SCIPY.","DOI":"10.25080\/Majora-92bf1922-00a"},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.14778\/3425879.3425882"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1145\/3341301.3359643"},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.14778\/2002938.2002940"},{"key":"e_1_2_1_80_1","volume-title":"Umbra: A Disk-Based System withIn-Memory Performance.. In CIDR.","author":"Neumann Thomas","year":"2020","unstructured":"Thomas Neumann and Michael J Freitag . 2020 . Umbra: A Disk-Based System withIn-Memory Performance.. In CIDR. Thomas Neumann and Michael J Freitag. 2020. Umbra: A Disk-Based System withIn-Memory Performance.. In CIDR."},{"key":"e_1_2_1_81_1","volume-title":"Generating optimal DAG-structured query evaluation plans. Computer Science-Research and Development","author":"Neumann Thomas","year":"2009","unstructured":"Thomas Neumann and Guido Moerkotte . 2009. Generating optimal DAG-structured query evaluation plans. Computer Science-Research and Development ( 2009 ). Thomas Neumann and Guido Moerkotte. 2009. Generating optimal DAG-structured query evaluation plans. Computer Science-Research and Development (2009)."},{"key":"e_1_2_1_82_1","volume-title":"Reporting Carrier On-Time Performance. https:\/\/www.transtats.bts.gov\/Tables.asp?DB_ID=120. [Online","author":"Bureau of Transportation Statistics. 2020.","year":"2021","unstructured":"Bureau of Transportation Statistics. 2020. Reporting Carrier On-Time Performance. https:\/\/www.transtats.bts.gov\/Tables.asp?DB_ID=120. [Online ; accessed 22.2. 2021 ]. Bureau of Transportation Statistics. 2020. Reporting Carrier On-Time Performance. https:\/\/www.transtats.bts.gov\/Tables.asp?DB_ID=120. [Online; accessed 22.2.2021]."},{"key":"e_1_2_1_83_1","doi-asserted-by":"publisher","DOI":"10.1145\/1376616.1376726"},{"key":"e_1_2_1_84_1","unstructured":"Oracle. 2020. Graal Native Image. https:\/\/www.graalvm.org\/reference-manual\/native-image\/.  Oracle. 2020. Graal Native Image. https:\/\/www.graalvm.org\/reference-manual\/native-image\/."},{"key":"e_1_2_1_85_1","unstructured":"Oracle. 2020. Graal Python. https:\/\/github.com\/graalvm\/graalpython.  Oracle. 2020. Graal Python. https:\/\/github.com\/graalvm\/graalpython."},{"key":"e_1_2_1_86_1","unstructured":"Oracle. 2020. GraalJS. https:\/\/github.com\/graalvm\/graaljs.  Oracle. 2020. GraalJS. https:\/\/github.com\/graalvm\/graaljs."},{"key":"e_1_2_1_87_1","volume-title":"Froid: How SQL Server 2019 Will Fix the Scalar Functions Problem. https:\/\/www.brentozar.com\/archive\/2018\/01\/froid-sql-server-vnext-might-fix-scalar-functions-problem\/.","author":"Ozar Brent","year":"2019","unstructured":"Brent Ozar . 2019 . Froid: How SQL Server 2019 Will Fix the Scalar Functions Problem. https:\/\/www.brentozar.com\/archive\/2018\/01\/froid-sql-server-vnext-might-fix-scalar-functions-problem\/. Brent Ozar. 2019. Froid: How SQL Server 2019 Will Fix the Scalar Functions Problem. https:\/\/www.brentozar.com\/archive\/2018\/01\/froid-sql-server-vnext-might-fix-scalar-functions-problem\/."},{"key":"e_1_2_1_88_1","doi-asserted-by":"publisher","DOI":"10.5555\/1267847.1267848"},{"key":"e_1_2_1_89_1","doi-asserted-by":"publisher","DOI":"10.14778\/3213880.3213890"},{"key":"e_1_2_1_90_1","volume-title":"Weld: Acommonruntime forhigh performancedataanalytics. In CIDR.","author":"Palkar Shoumik","year":"2017","unstructured":"Shoumik Palkar , James J Thomas , Anil Shanbhag , Deepak Narayanan , Holger Pirk , Malte Schwarzkopf , Saman Amarasinghe , Matei Zaharia , and Stanford InfoLab . 2017 . Weld: Acommonruntime forhigh performancedataanalytics. In CIDR. Shoumik Palkar, James J Thomas, Anil Shanbhag, Deepak Narayanan, Holger Pirk, Malte Schwarzkopf, Saman Amarasinghe, Matei Zaharia, and Stanford InfoLab. 2017. Weld: Acommonruntime forhigh performancedataanalytics. In CIDR."},{"key":"e_1_2_1_91_1","unstructured":"Paroski Paroski. 2016. Code generation: The inner sanctum of database performance. http:\/\/highscalability.com\/blog\/2016\/9\/7\/code-generation-the-inner-sanctum-ofdatabase-performance.html. [Online; accessed 31.5.2019].  Paroski Paroski. 2016. Code generation: The inner sanctum of database performance. http:\/\/highscalability.com\/blog\/2016\/9\/7\/code-generation-the-inner-sanctum-ofdatabase-performance.html. [Online; accessed 31.5.2019]."},{"key":"e_1_2_1_92_1","unstructured":"Glenn Paulley. [n.d.]. http:\/\/glennpaulley.ca\/database\/2015\/07\/performance-overhead-of-sql-user-defined-functions\/.  Glenn Paulley. [n.d.]. http:\/\/glennpaulley.ca\/database\/2015\/07\/performance-overhead-of-sql-user-defined-functions\/."},{"key":"e_1_2_1_93_1","unstructured":"Holger Pirk Jana Giceva and Peter R Pietzuch. 2019. Thriving in the No Man's Land between Compilers and Databases.. In CIDR.  Holger Pirk Jana Giceva and Peter R Pietzuch. 2019. Thriving in the No Man's Land between Compilers and Databases.. In CIDR."},{"key":"e_1_2_1_94_1","unstructured":"PostgreSQL. 2020. PostgreSQL. https:\/\/www.postgresql.org\/.  PostgreSQL. 2020. PostgreSQL. https:\/\/www.postgresql.org\/."},{"key":"e_1_2_1_95_1","doi-asserted-by":"publisher","DOI":"10.5555\/2578622"},{"key":"e_1_2_1_96_1","unstructured":"Farooq Qaiser. 2018. UDFs vs. Map vs. Custom Spark-Native Functions. https:\/\/medium.com\/@Farox2q\/udfs-vs-map-vs-custom-spark-native-functions-91ab2c154b44.  Farooq Qaiser. 2018. UDFs vs. Map vs. Custom Spark-Native Functions. https:\/\/medium.com\/@Farox2q\/udfs-vs-map-vs-custom-spark-native-functions-91ab2c154b44."},{"key":"e_1_2_1_97_1","doi-asserted-by":"publisher","DOI":"10.1145\/2949689.2949703"},{"key":"e_1_2_1_98_1","doi-asserted-by":"publisher","DOI":"10.1145\/3186728.3164140"},{"key":"e_1_2_1_99_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2006.40"},{"key":"e_1_2_1_100_1","doi-asserted-by":"publisher","DOI":"10.1145\/3078752"},{"key":"e_1_2_1_101_1","doi-asserted-by":"publisher","DOI":"10.1145\/3127479.3132022"},{"key":"e_1_2_1_102_1","doi-asserted-by":"publisher","DOI":"10.1145\/543613.543628"},{"key":"e_1_2_1_103_1","doi-asserted-by":"publisher","DOI":"10.1145\/3397537.3397566"},{"key":"e_1_2_1_104_1","doi-asserted-by":"publisher","DOI":"10.1145\/3400903.3400915"},{"key":"e_1_2_1_105_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2915244"},{"key":"e_1_2_1_106_1","volume-title":"Decorrelation of user defined function invocations in queries","author":"Simhadri Varun","unstructured":"Varun Simhadri , Karthik Ramachandra , Arun Chaitanya , Ravindra Guravannavar , and S Sudarshan . 2014. Decorrelation of user defined function invocations in queries . In ICDE. IEEE , 532--543. Varun Simhadri, Karthik Ramachandra, Arun Chaitanya, Ravindra Guravannavar, and S Sudarshan. 2014. Decorrelation of user defined function invocations in queries. In ICDE. IEEE, 532--543."},{"key":"e_1_2_1_107_1","unstructured":"Victor Stinner. 2019. Python performance Past Present Future. In EuroPython.  Victor Stinner. 2019. Python performance Past Present Future. In EuroPython."},{"key":"e_1_2_1_108_1","unstructured":"Jincheng Sun and Markos Sfikas. 2021. PyFlink: The integration of Pandas into PyFlink. https:\/\/flink.apache.org\/2020\/08\/04\/pyflink-pandas-udf-support-flink.html.  Jincheng Sun and Markos Sfikas. 2021. PyFlink: The integration of Pandas into PyFlink. https:\/\/flink.apache.org\/2020\/08\/04\/pyflink-pandas-udf-support-flink.html."},{"key":"e_1_2_1_109_1","doi-asserted-by":"publisher","DOI":"10.1145\/3183713.3196893"},{"key":"e_1_2_1_110_1","doi-asserted-by":"publisher","DOI":"10.1145\/3318464.3389701"},{"key":"e_1_2_1_111_1","unstructured":"PyPy Team. 2020. PyPy. https:\/\/foss.heptapod.net\/pypy\/pypy.  PyPy Team. 2020. PyPy. https:\/\/foss.heptapod.net\/pypy\/pypy."},{"key":"e_1_2_1_112_1","unstructured":"The HPy Team. 2021. HPy: a better API for Python. https:\/\/github.com\/hpyproject\/hpy.  The HPy Team. 2021. HPy: a better API for Python. https:\/\/github.com\/hpyproject\/hpy."},{"key":"e_1_2_1_113_1","doi-asserted-by":"publisher","DOI":"10.1145\/3318464.3389753"},{"key":"e_1_2_1_114_1","unstructured":"Sami Vaarala. 2020. Duktape. https:\/\/duktape.org\/.  Sami Vaarala. 2020. Duktape. https:\/\/duktape.org\/."},{"key":"e_1_2_1_115_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2903740"},{"key":"e_1_2_1_116_1","doi-asserted-by":"publisher","DOI":"10.1145\/3209950.3209952"},{"key":"e_1_2_1_117_1","volume-title":"Runtime Code Generation in Cloudera Impala","author":"Wanderman-Milne Skye","year":"2014","unstructured":"Skye Wanderman-Milne and Nong Li. 2014. Runtime Code Generation in Cloudera Impala . IEEE Data Engineering Bulletin ( 2014 ). Skye Wanderman-Milne and Nong Li. 2014. Runtime Code Generation in Cloudera Impala. IEEE Data Engineering Bulletin (2014)."},{"key":"e_1_2_1_118_1","volume-title":"Runtime Code Generation in Cloudera Impala","author":"Wanderman-Milne Skye","year":"2014","unstructured":"Skye Wanderman-Milne and Nong Li. 2014. Runtime Code Generation in Cloudera Impala . IEEE Data Engineering Bulletin ( 2014 ). Skye Wanderman-Milne and Nong Li. 2014. Runtime Code Generation in Cloudera Impala. IEEE Data Engineering Bulletin (2014)."},{"key":"e_1_2_1_119_1","doi-asserted-by":"publisher","DOI":"10.5555\/2462741"},{"key":"e_1_2_1_120_1","doi-asserted-by":"publisher","DOI":"10.1145\/2384716.2384723"},{"key":"e_1_2_1_121_1","doi-asserted-by":"publisher","DOI":"10.1145\/3140587.3062381"},{"key":"e_1_2_1_122_1","doi-asserted-by":"publisher","DOI":"10.5555\/2228298.2228301"},{"key":"e_1_2_1_123_1","doi-asserted-by":"publisher","DOI":"10.5555\/1863103.1863113"},{"key":"e_1_2_1_124_1","volume-title":"Haralampos Gavriilidis, Dimitrios Giouroukis, Philipp M Grulich, Sebastian Bre\u00df, Jonas Traub, andVolker Markl.","author":"Zeuch Steffen","year":"2020","unstructured":"Steffen Zeuch , Ankit Chaudhary , Bonaventura Del Monte , Haralampos Gavriilidis, Dimitrios Giouroukis, Philipp M Grulich, Sebastian Bre\u00df, Jonas Traub, andVolker Markl. 2020 . The NebulaStream Platform: Data and application management for the internet of things. In CIDR. Steffen Zeuch, Ankit Chaudhary, Bonaventura Del Monte, Haralampos Gavriilidis, Dimitrios Giouroukis, Philipp M Grulich, Sebastian Bre\u00df, Jonas Traub, andVolker Markl. 2020. The NebulaStream Platform: Data and application management for the internet of things. In CIDR."},{"key":"e_1_2_1_125_1","doi-asserted-by":"publisher","DOI":"10.1145\/2803140.2803145"},{"key":"e_1_2_1_126_1","doi-asserted-by":"publisher","DOI":"10.14778\/3303753.3303758"},{"key":"e_1_2_1_127_1","doi-asserted-by":"publisher","DOI":"10.14778\/3447689.3447697"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3489496.3489501","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T11:13:14Z","timestamp":1672225994000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3489496.3489501"}},"subtitle":["efficient execution of polyglot queries"],"short-title":[],"issued":{"date-parts":[[2021,10]]},"references-count":127,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2021,10]]}},"alternative-id":["10.14778\/3489496.3489501"],"URL":"https:\/\/doi.org\/10.14778\/3489496.3489501","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2021,10]]}}}