2022 年,我们向中文社区的伙伴们首次介绍了 RisingWave: 一个云原生流数据库,旨在让流处理普及大众,变得易用、实惠。两年多过去了,在 RisingWave Labs 同事们和社区朋友们的集体智慧下,RisingWave 已然变得更加强大、完善。新年伊始,让我们重新认识老朋友,了解步入 2025 年的RisingWave。
RisingWave 是一款专为开发者打造的事件流处理平台,提供统一的实时数据摄取、流处理和低延迟查询服务体验。
官网RisingWave 简化了实时数据管道和应用的开发,专为以下需求而设计:
- 每秒处理百万级事件,支持流式和批量数据源。
- 执行流处理,将实时数据流与历史表进行联合分析。
- 持久化数据,并以个位数毫秒级延迟提供即席查询服务。
- 将实时、一致的结果导入到数据湖(如 Apache Iceberg)或其他任何目标系统。
RisingWave 提供兼容 PostgreSQL 的 SQL 接口和类似 DataFrame 风格的 Python 接口。
如果您想即刻体验,请查看快速入门教程。
1. RisingWave 的独特之处
RisingWave 与传统的流处理系统不同,具有以下特点:
1.1 PostgreSQL 兼容性
通过 PostgreSQL 协议连接 —— 支持 psql、JDBC 或任何 Postgres 工具。
- 无缝集成:与 PostgreSQL 生态系统中的多种工具兼容。
- 灵活强大的 SQL:支持用丰富的 SQL 语言处理结构化、半结构化和非结构化数据。
- 无需手动调优:消除了繁琐的状态管理配置。
1.2 零磁盘架构
所有数据存储在 S3(或类似系统)中,本地磁盘仅作为缓存使用。
- 针对复杂查询进行了优化:确保高效处理状态操作,如 Joins 和时间窗口。
- 快速故障恢复:系统故障后几秒钟内即可恢复。
- 动态扩展:可以即时调整资源,处理工作负载峰值。
2. RisingWave 适配的使用场景
RisingWave 尤其适合以下场景:
- 流式分析:在实时报表中实现亚秒级数据新鲜度,适用于股市交易、体育博彩、物联网监控等高风险场景。
- 事件驱动应用:开发复杂的监控和警告系统,用于欺诈和异常检测。
- 实时数据增强:持续摄取来自多个数据源的数据,进行实时数据增强,并高效地将结果传输到下游系统。
- 特征工程:利用统一代码库将批数据和流数据转化为机器学习模型中的特征,确保集成流畅且一致。
3. RisingWave VS. 其他系统
RisingWave 并非仅仅是某种现有产品的“替代品”,但它常常与流处理器、分析型数据库和操作型数据库进行比较。
3.1 流处理器
如 ksqlDB、Spark Structured Streaming 和 Flink SQL 常与 RisingWave 相比。尽管这些系统各具优势,但 RisingWave 提供了极为简便的 PostgreSQL 风格用户体验,并消除了手动状态管理的需求。RisingWave 在以下方面表现突出:
- 高效处理复杂查询,如Joins、Aggregations 和 Time windows。
- 无感的动态扩展,在几秒钟内就能进行扩展,而非几分钟或几小时。
- 快速故障恢复,几秒钟内即可恢复,而非几分钟或几小时。
另外,RisingWave 大幅度简化了整个架构,具体内容请参见本文第四部分《RisingWave 如何简化您的事件驱动架构?》。不过,与这些流处理器相比,RisingWave 没有提供 Java 和 Scala 的底层接口,而是通过提供多语言的 UDF 和 SDK 提供了充足的替代方案。
3.2 分析型数据库
现代分析型数据库,如 ClickHouse(物化视图)、Snowflake(动态表)、BigQuery(持续查询)以及 Databricks(Delta Live Tables),均提供了持续处理能力。而 RisingWave 在这方面表现更为出色,具体优势如下:
- 提供了一套完整的流处理功能,包括Time windowing、Watermarks 等。
- 特别优化了复杂流式数据连接的处理。
- 允许数据在任何系统之间自由导入和导出,不受特定生态系统的限制。
此外,RisingWave 的透明动态扩展和快速故障恢复机制优于其他分析型数据库。
不过,RisingWave 并不使用列存储。如果您的工作负载主要是临时查询、长时间范围的扫描,而不是预定义查询,那么分析型数据库可能是更适合的选择。
3.3 操作型数据库
RisingWave 兼容 PostgreSQL 协议,可以与 PostgreSQL 生态系统中的大多数工具无缝集成。RisingWave 专为存储和处理流数据设计,更适合管理监控指标和事件数据,而非事务性数据。
请注意,RisingWave 并未在内部使用 PostgreSQL 引擎,这意味着某些 PostgreSQL 工具无法使用。此外,RisingWave 不支持读写事务。
4. RisingWave 简化事件驱动架构
RisingWave 旨在简化事件驱动架构。您可以将 RisingWave 看作是一个统一的系统,集成了事件流、流处理、存储和服务能力。开发者可以通过级联的物化视图来表达复杂的流处理逻辑。此外,RisingWave 还允许用户直接在系统内持久化数据,避免了将结果传送至外部数据库进行存储和查询的步骤。
无论是金融、物联网、零售、电商,还是工业监控、航天、医疗等需要高效实时分析的场景,RisingWave 都能为开发者提供一个稳定、灵活的解决方案。2025年,让我们共同迎接更加智能、高效的实时数据时代,开启创新和变革的新篇章。
5. 关于 RisingWave
RisingWave 是一款开源的分布式流处理数据库,旨在帮助用户降低实时应用的开发成本。RisingWave 采用存算分离架构,提供 Postgres-style 使用体验,具备比 Flink 高出 10 倍的性能以及更低的成本。
👨🔬加入 RW 社区,欢迎关注公众号:RisingWave中文开源社区
🧑💻想要了解和探索 RisingWave,欢迎浏览我们的官网:risingwave.com/
🔧快速上手 RisingWave,欢迎体验入门教程:github.com/risingwave
💻深入理解使用 RisingWave,欢迎阅读用户文档:zh-cn.risingwave.com/docs