{"id":13386302,"url":"https://github.com/risingwavelabs/risingwave","last_synced_at":"2025-05-13T16:03:36.254Z","repository":{"id":36950937,"uuid":"453068084","full_name":"risingwavelabs/risingwave","owner":"risingwavelabs","description":"Stream processing and management platform.","archived":false,"fork":false,"pushed_at":"2025-05-06T15:48:21.000Z","size":167706,"stargazers_count":7719,"open_issues_count":1198,"forks_count":633,"subscribers_count":82,"default_branch":"main","last_synced_at":"2025-05-06T16:07:39.875Z","etag":null,"topics":["data-engineering","database","kafka","materialized-view","postgresql","rust","stream-processing"],"latest_commit_sha":null,"homepage":"https://go.risingwave.com/slack","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/risingwavelabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-01-28T12:58:03.000Z","updated_at":"2025-05-06T15:48:55.000Z","dependencies_parsed_at":"2024-01-01T01:26:11.280Z","dependency_job_id":"e60e9c39-088c-4490-af68-c5a751b8178e","html_url":"https://github.com/risingwavelabs/risingwave","commit_stats":{"total_commits":11410,"total_committers":194,"mean_commits":58.81443298969072,"dds":0.9400525854513585,"last_synced_commit":"d1baacf347ae1e7dec11191e6f138a4438445d9a"},"previous_names":["singularity-data/risingwave"],"tags_count":107,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/risingwavelabs%2Frisingwave","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/risingwavelabs%2Frisingwave/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/risingwavelabs%2Frisingwave/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/risingwavelabs%2Frisingwave/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/risingwavelabs","download_url":"https://codeload.github.com/risingwavelabs/risingwave/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253979827,"owners_count":21994039,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-engineering","database","kafka","materialized-view","postgresql","rust","stream-processing"],"created_at":"2024-07-30T11:01:46.499Z","updated_at":"2025-05-13T16:03:36.238Z","avatar_url":"https://github.com/risingwavelabs.png","language":"Rust","readme":"\n\u003cp align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource srcset=\".github/RisingWave-logo-dark.svg\" width=\"500px\" media=\"(prefers-color-scheme: dark)\"\u003e\n    \u003cimg src=\".github/RisingWave-logo-light.svg\" width=\"500px\"\u003e\n  \u003c/picture\u003e\n\u003c/p\u003e\n\n\n\u003cdiv align=\"center\"\u003e\n\n### 🌊 Ride the Wave of Streaming Data.\n\n\u003c/div\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://docs.risingwave.com/\"\u003eDocs\u003c/a\u003e | \u003ca href=\"https://docs.risingwave.com/get-started/rw-benchmarks-stream-processing\"\u003eBenchmarks\u003c/a\u003e | \u003ca href=\"https://docs.risingwave.com/demos/overview\"\u003eDemos\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca\n    href=\"https://github.com/risingwavelabs/risingwave/releases/latest\"\n    target=\"_blank\"\n  \u003e\n    \u003cimg alt=\"Release\" src=\"https://img.shields.io/github/v/release/risingwavelabs/risingwave.svg?sort=semver\" /\u003e\n  \u003c/a\u003e\n  \u003ca\n    href=\"https://go.risingwave.com/slack\"\n    target=\"_blank\"\n  \u003e\n    \u003cimg alt=\"Slack\" src=\"https://badgen.net/badge/Slack/Join%20RisingWave/0abd59?icon=slack\" /\u003e\n  \u003c/a\u003e\n  \u003ca\n    href=\"https://x.com/risingwavelabs\"\n    target=\"_blank\"\n  \u003e\n    \u003cimg alt=\"X\" src=\"https://img.shields.io/twitter/follow/risingwavelabs\" /\u003e\n  \u003c/a\u003e\n  \u003ca\n    href=\"https://www.youtube.com/@risingwave-labs\"\n    target=\"_blank\"\n  \u003e\n    \u003cimg alt=\"YouTube\" src=\"https://img.shields.io/youtube/channel/views/UCsHwdyBRxBpmkA5RRd0YNEA\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\nRisingWave is a stream processing and management platform designed to offer the \u003ci\u003e\u003cb\u003esimplest\u003c/b\u003e\u003c/i\u003e and \u003ci\u003e\u003cb\u003emost cost-effective\u003c/b\u003e\u003c/i\u003e way to \u003cb\u003eprocess\u003c/b\u003e, \u003cb\u003eanalyze\u003c/b\u003e, and \u003cb\u003emanage\u003c/b\u003e real-time event data — with built-in support for the [Apache Iceberg™](https://iceberg.apache.org/) open table format. It provides both a Postgres-compatible [SQL interface](https://docs.risingwave.com/sql/overview) and a DataFrame-style [Python interface](https://docs.risingwave.com/python-sdk/intro).\n\nRisingWave can \u003cb\u003eingest\u003c/b\u003e millions of events per second, continuously \u003cb\u003ejoin and analyze\u003c/b\u003e live streams with historical data, \u003cb\u003eserve\u003c/b\u003e ad-hoc queries at low latency, and \u003cb\u003epersist\u003c/b\u003e fresh, consistent results to Apache Iceberg™ or any other downstream system.\n\n![RisingWave](./docs/dev/src/images/architecture_20250127.png)\n\n## Try it out in 60 seconds\n\nInstall RisingWave standalone mode:\n```shell\ncurl -L https://risingwave.com/sh | sh\n```\n\nTo learn about other installation options, such as using a Docker image, see [Quick Start](https://docs.risingwave.com/docs/current/get-started/).\n\n## Stream, Store, and Query — All in One\n\nRisingWave delivers a full **end-to-end streaming data platform** — combining real-time processing with built-in storage and open-format persistence.\n\nIt supports:\n\n* **Ingestion:** Ingest millions of events per second from streaming and batch sources.\n* **Stream processing:** Perform real-time incremental processing to join and analyze live data with historical tables.\n* **Delivery:** Deliver fresh, consistent results to data lakes (e.g., Apache Iceberg™) or any destination.\n\nWhat sets RisingWave apart is its integrated storage engine:\n\n* **Online serving:** Row-based storage optimized for point and range queries with single-digit millisecond latency.\n* **Offline persistence:** Built-in Apache Iceberg™ integration for low-cost, durable storage with open access for external query engines.\n\nWith RisingWave, real-time data isn’t just processed — it’s stored, queried, and shared across your entire stack.\n\n## Key design decisions\n\nRisingWave is designed to be easier to use and more cost-efficient:\n\n### PostgreSQL compatibility\n\n* **Seamless integration:** Connects via the PostgreSQL wire protocol, working with psql, JDBC, and any Postgres tool.\n* **Expressive SQL:** Supports structured, semi-structured, and unstructured data with a familiar SQL dialect.\n* **No manual state tuning:** Eliminates complex state management configurations.\n\n### S3 as primary storage\n\nRisingWave stores tables, materialized views, and internal states of stream processing jobs in S3 (or equivalent object storage), providing:\n- **High performance:** Optimized for complex queries, including joins and time windowing.\n- **Fast recovery:** Restores from system failures within seconds.\n- **[Dynamic scaling](https://docs.risingwave.com/deploy/k8s-cluster-scaling):** Instantly adjusts resources to handle workload spikes.\n\n### Elastic disk cache\n\nBeyond caching hot data in memory, RisingWave supports [**elastic disk cache**](https://docs.risingwave.com/get-started/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.\n\n### Apache Iceberg™ native support\nRisingWave [**natively integrates with Apache Iceberg™**](https://docs.risingwave.com/iceberg/overview), 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.\n\n## In what use cases does RisingWave excel?\nRisingWave is particularly effective for the following use cases:\n\n* **Streaming analytics**: Achieve sub-second data freshness in live dashboards, ideal for high-stakes scenarios like stock trading, sports betting, and IoT monitoring.\n* **Event-driven applications**: Develop sophisticated monitoring and alerting systems for critical applications such as fraud and anomaly detection.\n* **Real-time data enrichment**: Continuously ingest data from diverse sources, conduct real-time data enrichment, and efficiently deliver the results to downstream systems.\n* **Feature engineering**: Transform batch and streaming data into features in your machine learning models using a unified codebase, ensuring seamless integration and consistency.\n\n## Production deployments\n\n[**RisingWave Cloud**](https://cloud.risingwave.com) offers the easiest way to run RisingWave in production.\n\nFor **Docker deployment**, please refer to [Docker Compose](https://docs.risingwave.com/docs/current/risingwave-docker-compose/).\n\nFor **Kubernetes deployment**, please refer to [Kubernetes with Helm](https://docs.risingwave.com/docs/current/risingwave-k8s-helm/) or [Kubernetes with Operator](https://docs.risingwave.com/docs/current/risingwave-kubernetes/).\n\n## Community\n\nLooking for help, discussions, collaboration opportunities, or a casual afternoon chat with our fellow engineers and community members? Join our [Slack workspace](https://risingwave.com/slack)!\n\n## Notes on telemetry\n\n\nRisingWave uses [Scarf](https://scarf.sh/) 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](https://about.scarf.sh/privacy-policy).\n\nRisingWave 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](https://docs.risingwave.com/docs/current/telemetry/) for more details.\n\n## License\n\nRisingWave is distributed under the Apache License (Version 2.0). Please refer to [LICENSE](LICENSE) for more information.\n\n## Contributing\n\nThanks for your interest in contributing to the project! Please refer to [RisingWave Developer Guide](https://risingwavelabs.github.io/risingwave/) for more information.\n","funding_links":[],"categories":["Streaming","Rust","语言资源库","数据库管理系统","HarmonyOS","Table of Contents","Data Stream Processing","big-data","Troubleshooting","\u003ca name=\"Rust\"\u003e\u003c/a\u003eRust","新项目脚手架","Stream Processing"],"sub_categories":["Vectors","rust","网络服务_其他","Windows Manager","Streaming Engine","Logs","Streaming Databases"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frisingwavelabs%2Frisingwave","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frisingwavelabs%2Frisingwave","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frisingwavelabs%2Frisingwave/lists"}