DBToaster: Higher-order Delta Processing for Dynamic, Frequently Fresh Views
Applications ranging from algorithmic trading to scientific data analysis require realtime analytics based on views over databases receiving thousands of updates each second. Such views have to be kept fresh at millisecond latencies. At the same time, these views have to support classical SQL, rather than window semantics, to enable applications that combine current with aged or historical data. In this article, we present the DBToaster system, which keeps materialized views of standard SQL queries continuously fresh as data changes very rapidly. This is achieved by a combination of aggressive compilation techniques and DBToaster's original recursive finite differencing technique which materializes a query and a set of its higher-order deltas as views. These views support each other's incremental maintenance, leading to a reduced overall view maintenance cost. This article provides a first description of the complete system, and a thorough experimental evaluation of its performance. DBToaster supports tens of thousands of complete view refreshes a second for a wide range of queries.