Skip to content

Streaming data platform for real-time stream processing, low-latency serving, and Iceberg table management.

License

risingwavelabs/risingwave

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

🌊 Ride the wave of streaming data

Docs | Benchmarks | Demos

RisingWave is a real-time event streaming platform designed to offer the simplest and most cost-effective way to process, analyze, and manage real-time event data — with built-in support for the Apache Iceberg™ open table format. It provides both a Postgres-compatible SQL interface and a DataFrame-style Python interface.

RisingWave can ingest millions of events per second, continuously join and analyze live streams with historical data, serve ad-hoc queries at low latency, and manage data reliably in Apache Iceberg™ tables.

RisingWave

Try it out in 60 seconds

Install RisingWave standalone mode:

curl -L https://risingwave.com/sh | sh

To learn about other installation options, such as using a Docker image, see the quick start guide.

Unified platform for streaming data

RisingWave delivers a unified streaming data platform that combines ultra-low-latency stream processing and Iceberg-native data management.

Streaming analytics

RisingWave integrates real-time stream processing and low-latency serving in a single system. It continuously ingests data from streaming and batch sources, performs incremental computations across streams and tables with end-to-end freshness under 100 ms. Materialized views can be served directly within RisingWave with 10–20 ms p99 query latency, or delivered to downstream systems.

Iceberg-based lakehouse ingestion and management

RisingWave treats Apache Iceberg™ as a first-class citizen. It directly hosts and manages the Iceberg REST catalog, allowing users to create and operate Iceberg tables through a PostgreSQL-compatible interface. RisingWave supports two write modes: Merge-on-Read (MoR) and Copy-on-Write (CoW), to suit different ingestion and query patterns. It also provides built-in table maintenance capabilities, including compaction, small-file optimization, vacuum, and snapshot cleanup, ensuring efficient and consistent data management without external tools or pipelines.

Key design decisions

RisingWave is designed to be easier to use and more cost-efficient:

PostgreSQL compatibility

  • Seamless integration: Connects via the PostgreSQL wire protocol, working with psql, JDBC, and any Postgres tool.
  • Expressive SQL: Supports structured, semi-structured, and unstructured data with a familiar SQL dialect.
  • No manual state tuning: Eliminates complex state management configurations.

S3 as primary storage

RisingWave stores tables, materialized views, and internal states of stream processing jobs in S3 (or equivalent object storage), providing:

  • High performance: Optimized for complex queries, including joins and time windowing.
  • Fast recovery: Restores from system failures within seconds.
  • Dynamic scaling: Instantly adjusts resources to handle workload spikes.

Beyond caching hot data in memory, RisingWave supports elastic disk cache, a powerful performance optimization that uses local disks or EBS for efficient data caching. This minimizes access to S3, lowering processing latency and cutting S3 access costs.

Apache Iceberg™ native support

RisingWave natively integrates with Apache Iceberg™, enabling continuous ingestion of streaming data into Iceberg tables. It can also read directly from Iceberg, perform automatic compaction, and maintain table health over time. Since Iceberg is an open table format, results are accessible by other query engines — making storage not only cost-efficient, but interoperable by design.

In what use cases does RisingWave excel?

RisingWave is particularly effective for the following use cases:

  • Live dashboards: Achieve sub-second data freshness in live dashboards, ideal for high-stakes scenarios like stock trading, sports betting, and IoT monitoring.
  • Monitoring and alerting: Develop sophisticated monitoring and alerting systems for critical applications such as fraud and anomaly detection.
  • Real-time data enrichment: Continuously ingest data from diverse sources, conduct real-time data enrichment, and efficiently deliver the results to downstream systems.
  • Feature engineering: Transform batch and streaming data into features in your machine learning models using a unified codebase, ensuring seamless integration and consistency.
  • Iceberg-based lakehouses: Power real-time lakehouse architectures where streaming data is continuously written to Apache Iceberg™ tables for unified analytics, governance, and long-term retention in open formats.

Production deployments

RisingWave Cloud offers the easiest way to run RisingWave in production.

For Docker deployment, please refer to Docker Compose.

For Kubernetes deployment, please refer to Kubernetes with Helm or Kubernetes with Operator.

Community

Looking for help, discussions, collaboration opportunities, or a casual afternoon chat with our fellow engineers and community members? Join our Slack workspace!

Notes on telemetry

RisingWave uses Scarf to collect anonymized installation analytics. These analytics help support us understand and improve the distribution of our package. The privacy policy of Scarf is available at https://about.scarf.sh/privacy-policy.

RisingWave also collects anonymous usage statistics to better understand how the community is using RisingWave. The sole intention of this exercise is to help improve the product. Users may opt out easily at any time. Please refer to the user documentation for more details.

License

RisingWave is distributed under the Apache License (Version 2.0). Please refer to LICENSE for more information.

Contributing

Thanks for your interest in contributing to the project! Please refer to RisingWave Developer Guide for more information.