/risingwave

RisingWave: the next-generation streaming database in the cloud.

Primary LanguageRustApache License 2.0Apache-2.0

🌊 Reimagine stream processing.

Documentation   📑    Hands-on Tutorials   🎯    RisingWave Cloud   🚀    Get Instant Help

Slack X YouTube

RisingWave is a Postgres-compatible streaming database engineered to provide the simplest and most cost-efficient approach for processing, analyzing, and managing real-time event streaming data.

RisingWave

Try it out in 60 seconds

Install RisingWave standalone mode:

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

Then follow the prompts to start and connect to RisingWave.

To learn about other installation options, such as using a Docker image, see Quick Start.

Please note: 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.

Production deployments

RisingWave Cloud offers the easiest way to run RisingWave in production, with a forever-free developer tier.

For Docker deployment, please refer to Docker Compose.

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

Why RisingWave for real-time materialized views?

RisingWave specializes in providing incrementally updated, consistent materialized views — a persistent data structure that represents the results of event stream processing. Compared to materialized views, dynamic tables, and live tables in other database and data warehouse systems, RisingWave's materialized view stands out in several key aspects:

  • Highly cost-efficient - up to 95% cost savings compared to state-of-the-art solutions
  • Synchronous refresh without compromising consistency
  • Extensive SQL support including joins, deletes, and updates
  • High concurrency in query serving
  • Instant fault tolerance
  • Transparent dynamic scaling
  • Speedy bootstrapping and backfilling

RisingWave's extensive CDC support further enables users to seamlessly offload event-driven workloads such as materialized views and triggers from operational databases (e.g., PostgreSQL) to RisingWave.

Why RisingWave for stream processing?

RisingWave provides users with a comprehensive set of frequently used stream processing features, including exactly-once consistency, time window functions, watermarks, and more. RisingWave significantly reduces the complexity of building stream processing applications by allowing developers to express intricate stream processing logic through cascaded materialized views. Furthermore, it allows users to persist data directly within the system, eliminating the need to deliver results to external databases for storage and query serving.

Real-time Data Pipelines without or with RisingWave

Compared to existing stream processing systems like Apache Flink, Apache 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 🌊 Traditional stream processing systems
Learning curve 🎢 PostgreSQL-style experience System-specific concepts
Integration 🔗 PostgreSQL ecosystem System-specific ecosystem
Complex queries (e.g., joins) 💡 Highly efficient Inefficient
Failure recovery 🚨 Instant Minutes or even hours
Dynamic scaling 🚀 Transparent Stop-the-world
Bootstrapping and Backfilling ⏪ Accelerated via dynamic scaling Slow

RisingWave as a database

RisingWave is fundamentally a database that extends beyond basic streaming data processing capabilities. It excels in the effective management of streaming data, making it a trusted choice for data persistence and powering online applications. RisingWave offers an extensive range of database capabilities, which include:

  • High availability
  • Serving highly concurrent queries
  • Role-based access control (RBAC)
  • Integration with data modeling tools, such as dbt
  • Integration with database management tools, such as Dbeaver
  • Integration with BI tools, such as Grafana
  • Schema change
  • Processing of semi-structured data

In-production use cases

Within your data stack, RisingWave can assist with:

  • Processing and transforming event streaming data in real time
  • Offloading event-driven queries (e.g., materialized views, triggers) from operational databases
  • Performing real-time ETL (Extract, Transform, Load)
  • Supporting real-time feature stores

Read more at use cases. RisingWave is extensively utilized in real-time applications such as monitoring, alerting, dashboard reporting, machine learning, among others. It has already been adopted in fields such as financial trading, manufacturing, new media, logistics, gaming, and more. Check out customer stories.

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 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.