Summary
In this episode, Gilad Kleinman, co-founder of Epsio, shares his unique journey from PHP development to low-level kernel programming and how that evolution led him to build an innovative incremental views engine.
Gilad explains that Epsio tackles a common challenge in databases: making heavy, complex queries faster and more efficient through incremental materialization. He describes how traditional materialized views fall short—often requiring full refreshes—and how Epsio seamlessly integrates with existing databases by consuming replication streams (CDC) and writing back to result tables without disrupting the core transactional system.
The conversation dives into the technical trade-offs and optimizations involved, such as handling stateful versus stateless operators (like group-by and window functions), using Rust for performance, and the challenges of ensuring consistency.
Gilad also contrasts Epsio’s approach with streaming systems like Flink, emphasizing that by maintaining tight integration with the native database, Epsio can offer immediate, up-to-date query results while minimizing disruption.
Finally, he outlines his vision for the future of incremental stream processing and materialized views as a means to reduce compute costs and enhance overall system performance.
Chapters
00:00 From PHP to Kernel Development: A Journey
07:30 Introducing Epsio: The Incremental Views Engine
10:56 The Importance of Materialized Views
15:07 Understanding Incremental Materialization
19:21 Optimizing Query Performance with Epsio
24:53 Integrating Epsio with Existing Databases
27:02 The Shift from Theory to Practice in Data Processing
29:42 Seamless Integration with Existing Databases
32:02 Understanding Epsio Incremental Processing Mechanism
34:46 Challenges and Limitations of Incremental Views
36:49 The Complexity of Implementing Operators
39:56 Trade-offs in Incremental Computation
41:21 User Interaction with Epsio
43:01 Comparing EPSIO with Streaming Systems
45:09 Architectural Guarantees of Epsio
50:33 The Future of Incremental Data Processing