/risingwave

The distributed streaming database: SQL stream processing with Postgres-like experience 🪄. 10X faster and more cost-efficient than Apache Flink 🚀.

Primary LanguageRustApache License 2.0Apache-2.0

Slack Build status codecov

RisingWave is a distributed SQL streaming database. It is designed to reduce the complexity and cost of building stream processing applications. RisingWave consumes streaming data, performs incremental computations when new data comes in, and updates results dynamically. As a database system, RisingWave maintains results inside its own storage so that users can access data efficiently.

RisingWave offers wire compatibility with PostgreSQL and demonstrates exceptional performance surpassing the previous generation of stream processing systems, including Apache Flink, by several orders of magnitude. It particularly excels in handling complex stateful operations like multi-stream joins.

RisingWave ingests data from sources like Apache Kafka, Apache Pulsar, Amazon Kinesis, Redpanda, and materialized CDC sources. Data in RisingWave can be delivered to external targets such as message brokers, data warehouses, and data lakes for storage or additional processing.

RisingWave 1.0 is a battle-tested version that has undergone rigorous stress tests and performance evaluations. It has proven its reliability and efficiency through successful deployments in numerous production environments across dozens of companies.

Learn more at Introduction to RisingWave.

RisingWave

RisingWave Cloud

RisingWave Cloud is a fully-managed and scalable stream processing platform powered by the open-source RisingWave project. Try it out for free at: risingwave.com/cloud.

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. These statistics are related to system resource usage, OS versions and system uptime. RisingWave doesn't have access to any user data or metadata running on RisingWave clusters including source and sink connection parameters, sources, sinks, materialized views, and tables. Users have the option to opt out of this collection using a system parameter. Please refer to the RisingWave user documentation for more details.

Get started

  • To learn about how to install and run RisingWave, see Get started.
  • To learn about how to ingest data and the supported data sources, see Sources.
  • To learn about how to transform data using the PostgreSQL-compatible SQL of RisingWave, see SQL reference.
  • To learn about how to deliver data and the supported data sinks, see Sinks.
  • To learn about new features and changes in the current and previous versions, see Release notes.

Documentation

To learn about how to use RisingWave, refer to RisingWave User Documentation. To learn about the development process, see the developer guide. To understand the design and implementation of RisingWave, refer to the design docs listed in readme.md.

Community

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

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 contribution guidelines for more information.