Projects per year
Abstract
This paper introduces semi-ring dictionaries, a powerful class of compositional and purely functional collections that subsume other collection types such as sets, multisets, arrays, vectors, and matrices. We developed SDQL, a statically typed language that can express relational algebra with aggregations, linear algebra, and functional collections over data such as relations and matrices using semi-ring dictionaries. Furthermore, thanks to the algebraic structure behind these dictionaries, SDQL unifies a wide range of optimizations commonly used in databases (DB) and linear algebra (LA). As a result, SDQL enables efficient processing of hybrid DB and LA workloads, by putting together optimizations that are otherwise confined to either DB systems or LA frameworks. We show experimentally that a handful of DB and LA workloads can take advantage of the SDQL language and optimizations. SDQL can be competitive with or outperforms a host of systems that are state of the art in their own domain: in-memory DB systems Typer and Tectorwise for (flat, not nested) relational data; SciPy for LA workloads; sparse tensor compiler taco; the Trance nested relational engine; and the in-database machine learning engines LMFAO and Morpheus for hybrid DB/LA workloads over relational data.
Original language | English |
---|---|
Pages (from-to) | 1-33 |
Number of pages | 33 |
Journal | Proceedings of the ACM on Programming Languages |
Volume | 6 |
Issue number | OOPSLA1 |
DOIs | |
Publication status | Published - 29 Apr 2022 |
Keywords / Materials (for Non-textual outputs)
- nested relational algebra
- semi-ring dictionary
- sparse linear algebra
Fingerprint
Dive into the research topics of 'Functional collection programming with semi-ring dictionaries'. Together they form a unique fingerprint.Projects
- 1 Finished
-
QUINTON -- QUerying and INTegrating Over Nested data
Nikolic, M. (Principal Investigator)
Engineering and Physical Sciences Research Council
1/01/21 → 31/01/25
Project: Research