README.md
RisingWave is an enterprise-grade event streaming platform designed to offer the <i><b>simplest</b></i> and <i><b>most cost-effective</b></i> way to <b>ingest</b>, <b>process</b>, and <b>manage</b> 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 <b>ingest</b> millions of events per second, continuously <b>join and analyze</b> live streams with historical data, <b>serve</b> ad-hoc queries at low latency, and <b>manage</b> data reliably in Apache Iceberg™ tables.
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.
RisingWave delivers a unified streaming data platform that combines ultra-low-latency stream processing and Iceberg-native data management.
RisingWave integrates real-time streaming ingestion, 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.
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.
Plug: Nimtable is an observability tool developed by RisingWave for easily exploring and managing Iceberg tables.
RisingWave is designed to be easier to use and more cost-efficient:
RisingWave stores tables, materialized views, and internal states of stream processing jobs in S3 (or equivalent object storage), providing:
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.
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.
RisingWave is particularly effective for the following use cases:
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.
Looking for help, discussions, collaboration opportunities, or a casual afternoon chat with our fellow engineers and community members? Join our Slack workspace!
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.
RisingWave is distributed under the Apache License (Version 2.0). Please refer to LICENSE for more information.
Thanks for your interest in contributing to the project! Please refer to RisingWave Developer Guide for more information.