Presented By O'Reilly and Cloudera
Make Data Work
March 13–14, 2017: Training
March 14–16, 2017: Tutorials & Conference
San Jose, CA

Continuous queries over high-velocity event streams using an in-memory database (sponsored by VoltDB)

Ethan Zhang (VoltDB)
1:50pm2:30pm Wednesday, March 15, 2017
Location: 230 B

What you'll learn

  • Explore VoltDB, a NewSQL distributed database that supports continuous queries three orders of magnitude faster with materialized views


Continuous queries must be continually reevaluated for the latest results against underlying fast-changing data. However, these queries can become complex, with aggregations, analytic functions, and join operations, and can be very expensive for databases to run. At the same time, normal transactions remain the core business of OLTP databases and cannot afford much performance regression as a result of heavy continuous query execution. In this conflicting situation, using materialized views—special database objects that can compute and cache the result of certain queries—to support continuous queries is the most desirable solution. With materialized views, continuous queries can avoid costly from-scratch computation and use the cached result to respond promptly.

Ethan Zhang offers an overview of VoltDB, a NewSQL distributed database that supports continuous queries three orders of magnitude faster with materialized views, highlighting a transparent, automatic, and incremental-view maintenance approach. VoltDB supports materialized views on individual persistent tables or streamed tables where the insertion to the table will be directly pipelined to a downstream system and the data does not persist in the main memory. It also supports materialized views on joins of multiple persistent tables. The maintenance of materialized views is transparent, not requiring any configuration and tuning from the user. In addition, VoltDB automatically maintains views to the latest state whenever any updates are applied to the view base tables; users do not need to kick off background tasks to refresh the views. Maintenance is also incremental, meaning views are only updated with a minimal set of required changes, instead of recomputing the view content from scratch. This is the key to saving a significant amount of time and guaranteeing the smooth execution of normal transactions at a high-throughput level.

This session is sponsored by VoltDB.

Photo of Ethan Zhang

Ethan Zhang


Ethan Zhang is a software engineer at VoltDB. Ethan is working toward a PhD at the University of Houston, where his research focuses on parallel database systems and cubes.