What are the differences between RisingWave and Flink's storage models?

I'm trying to understand the differences in the storage models between RisingWave (RW) and Flink. Flink uses RocksDB for local state persistence and flushes state to S3, while RW uses a service called Hummock with tiered storage. Can someone clarify the high-level differences between their state storage models?


Nikhil Srivastava

Asked on Jun 06, 2023

The main difference is that RisingWave employs a shared storage architecture where all data are persisted in S3, while Flink uses a shared nothing architecture with RocksDB, storing data locally in each instance. RisingWave's model decouples computation and storage, which aids in scaling and maintenance. RisingWave also has in-memory and file cache for each local instance to reduce S3 access. Additionally, Flink is a stream processing engine requiring external systems for queries, whereas RisingWave is a streaming database that can create materialized views for querying with strong consistency. Hummock in RisingWave handles both internal state and materialized view data, supporting MVCC query for consistency.

Jun 06, 2023Edited by