DBSP: Automatic Incremental View Maintenance for Rich Query Languages

30 Mar 2022  ·  Mihai Budiu, Frank McSherry, Leonid Ryzhyk, Val Tannen ·

Incremental view maintenance has been for a long time a central problem in database theory. Many solutions have been proposed for restricted classes of database languages, such as the relational algebra, or Datalog. These techniques do not naturally generalize to richer languages. In this paper we give a general solution to this problem in 3 steps: (1) we describe a simple but expressive language called DBSP for describing computations over data streams; (2) we give a general algorithm for solving the incremental view maintenance problem for arbitrary DBSP programs, and (3) we show how to model many rich database query languages (including the full relational queries, grouping and aggregation, monotonic and non-monotonic recursion, and streaming aggregation) using DBSP. As a consequence, we obtain efficient incremental view maintenance techniques for all these rich languages.

PDF Abstract
No code implementations yet. Submit your code now




  Add Datasets introduced or used in this paper