Code Monkey home page Code Monkey logo

risingwave's Introduction

🌊 Reimagine Stream Processing.

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

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 5 minutes

Docker pull:

docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:latest playground

Now connect to RisingWave using psql:

psql -h localhost -p 4566 -d dev -U root

Don’t have Docker? Learn how to install RisingWave on Mac, Ubuntu, and other environments at Quick Start.

Production deployments

For single-node deployment, please refer to Docker Compose.

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

RisingWave Cloud the easiest way to run a fully-fledged RisingWave cluster. Try it out for free at: cloud.risingwave.com.

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. It specializes in providing incrementally updated, consistent materialized views — a persistent data structure that represents the results of stream processing. 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).

Ease-of-use

  • Simple to learn
    • RisingWave speaks PostgreSQL-style SQL, enabling users to dive into stream processing in much the same way as operating a PostgreSQL database.
  • Simple to develop
    • RisingWave operates as a relational database, allowing users to decompose stream processing logic into smaller, manageable, stacked materialized views, rather than dealing with extensive computational programs.
  • Simple to integrate
    • With integrations to a diverse range of cloud systems and the PostgreSQL ecosystem, RisingWave boasts a rich and expansive ecosystem, making it straightforward to incorporate into existing infrastructures.

Cost efficiency

  • Highly efficient in complex queries
    • RisingWave persists internal states in remote storage systems such as S3, and users can confidently and efficiently perform complex streaming queries (for example, joining dozens of data streams) in a production environment, without worrying about state size.
  • Transparent dynamic scaling
    • RisingWave's state management mechanism enables near-instantaneous dynamic scaling without any service interruptions.
  • Instant failure recovery
    • RisingWave's state management mechanism also allows it to recover from failure in seconds, not minutes or hours.

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

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

risingwave's People

Contributors

bugenzhao avatar skyzh avatar tennyzhuang avatar xxchan avatar lmatz avatar yezizp2012 avatar kwannoel avatar zwang28 avatar chenzl25 avatar fuyufjh avatar xiangjinwu avatar bowenxiao1999 avatar dependabot[bot] avatar liurenjie1024 avatar wcy-fdu avatar st1page avatar wenym1 avatar wangrunji0408 avatar tabversion avatar stdrc avatar shanicky avatar li0k avatar soundofdestiny avatar neverchanje avatar little-wallace avatar yuhao-su avatar sunt-ing avatar strikew avatar mrcroxx avatar hzxa21 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.