Skip to content

Best-in-class stream processing, analytics, and management. Perform continuous analytics, or build event-driven applications, real-time ETL pipelines, and feature stores in minutes. Unified streaming and batch. PostgreSQL compatible.

License

Notifications You must be signed in to change notification settings

risingwavelabs/risingwave

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌊 Reimagine stream processing.

Documentation   πŸ“‘    Hands-on Tutorials   πŸŽ―    RisingWave Cloud   πŸš€    Get Instant Help

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

RisingWave

When to use RisingWave?

RisingWave can ingest millions of events per second, continuously join live data streams with historical tables, and serve ad-hoc queries in real-time. Typical use cases include, but are not limited to:

  • Streaming analytics: Perform streaming analytics and build live dashboards with data freshness under one second, ideal for stock trading, sports betting, IoT monitoring, and more.
  • Event-driven applications: Develop monitoring and alerting applications for fraud detection, anomaly detection, and more.
  • Real-time ETL pipelines: Ingest data from different sources, perform enrichment queries, and deliver results to downstream systems.
  • Feature stores: Transform both batch and streaming data into ML features using the same codebase.

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

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.