First-generation streaming systems did not pay much attention to state management via ACID transactions (e.g., [3, 4]). S-Store is a data management system that combines OLTP transactions with stream processing. To create S-Store, we begin with H-Store, a main-memory transaction processing engine, and add primitives to support streaming. This includes triggers and transaction workflows to implement push-based processing, windows to provide a way to bound the computation, and tables with hidden state to implement scoping for proper isolation. This demo explores the benefits of this approach by showing how a naïve implementation of our benchmarks using only H-Store can yield incorrect results. We also show that by exploiting push-based semantics and our implementation of triggers, we can achieve significant improvement in transaction throughput. We demo two modern applications: (i) leaderboard maintenance for a version of “American Idol”, and (ii) a city-scale bicycle rental scenario.
Authors
Ugur Cetintemel
Jiang Du
Tim Kraska
Samuel Madden
David Maier
John Meehan
Andrew Pavlo
Stan Zdonik
Related Content
Real-Time Full Correlation Matrix Analysis of fMRI Data
Real-time functional magnetic resonance imaging (rtfMRI) is an emerging approach for studying the functioning of the human brain. Computational challenges...
Optimizing High Performance Distributed Memory Parallel Hash Tables...
High-throughput DNA sequencing is the mainstay of modern genomics research. A common operation used in bioinformatic analysis for many applications...
Many-Core Graph Workload Analysis
Graph applications have specific characteristics that are not common in other application domains and therefore require thorough analysis to guide...
Precision and Recall for Time Series
Classical anomaly detection is principally concerned with point-based anomalies, those anomalies that occur at a single point in time. Yet,...