risingwave

stream processing

Created: by Pradeep Gowda Updated: Jan 16, 2024 Tagged: risingwave

Homepage: RisingWave: Open-Source Streaming Database

RisingWave Database is an open-source distributed SQL streaming database designed for the cloud.

Compared to existing stream processing systems like Apache FlinkApache Spark Streaming, and ksqlDB, RisingWave stands out in two primary dimensions: Ease-of-use and cost efficiency, thanks to its PostgreSQL-style interaction experience and  Snowflake-like architectural design (i.e., decoupled storage and compute).

RisingWave speaks PostgreSQL-style SQL, enabling users to dive into stream processing in much the same way as operating a PostgreSQL database. RisingWave operates as a relational database, allowing users to decompose stream processing logic into smaller, manageable, stacked materialized views, rather than dealing with extensive computational programs.

In-production use cases

Like other stream processing systems, the primary use cases of RisingWave include monitoring, alerting, real-time dashboard reporting, streaming ETL (Extract, Transform, Load), machine learning feature engineering, and more.

See https://docs.risingwave.com/docs/current/use-cases/

  • Streaming ETL
  • Real-time analytics
  • Event-driven applications

limitations

  • No programmable interfaces
  • RisingWave does not provide low-level APIs in languages like Java and Scala, and does not allow users to manage internal states manually (unless you want to hack!). For coding in Java, Scala, and other languages, please consider using RisingWave’s User-Defined Functions (UDF).