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.