This demonstration presents a new Open Source SQL-to-SQL compiler for Incremental View Maintenance (IVM). While previous systems, such as DBToaster, implemented computational functionality for IVM in a separate system, the core principle of OpenIVM is to make use of existing SQL query processing engines and perform all IVM computations via SQL. This approach enables the integration of IVM in these systems without code duplication. Also, it eases its use in cross-system IVM, i.e. to orchestrate an HTAP system in which one (OLTP) DBMS provides insertions/updates/deletes (deltas), which are propagated using SQL into another (OLAP) DBMS, hosting materialized views. Our system compiles view definitions into SQL to eventually propagate deltas into the table that materializes the view, following the principles of DBSP. Under the hood, OpenIVM uses the DuckDB library to compile (parse, transform, optimize) the materialized view maintenance logic. We demonstrate OpenIVM in action (i) as the core of a DuckDB extension module that adds IVM functionality to it and (ii) powering cross-system IVM for HTAP, with PostgreSQL handling updates on base tables and DuckDB hosting materialized views on these.

, ,
doi.org/10.1145/3626246.3654743
2024 International Conference on Management of Data, SIGMOD 2024
Centrum Wiskunde & Informatica, Amsterdam (CWI), The Netherlands

Battiston, I., Kathuria, K., & Boncz, P. (2024). OpenIVM: A SQL-to-SQL compiler for Incremental Computations. In SIGMOD/PODS '24: Companion of the 2024 International Conference on Management of Data (pp. 516–519). doi:10.1145/3626246.3654743