流处理系统对比:RisingWave vs ksqlDB

文摘   科技   2024-07-02 14:20   中国香港  

作者:Heng Ma|RisingWave Labs Content Lead

文将从架构、部署与可扩展性、Source 和 Sink、生态系统与开发者工具几个方面比较 ksqlDB 和 RisingWave 这两款领先的流处理系统。

1架构

ksqlDB 是由 Confluent 开发和维护的流处理 SQL 引擎,专为 Apache Kafka 设计。它基于 Kafka Streams 构建[1],是一个用于在 Kafka 主题上创建流处理应用程序的客户端库。ksqlDB 遵循 Confluent 社区许可协议[2]

RisingWave 是一个开源的分布式 SQL 流式数据库,提供可靠、高效的流数据处理和管理解决方案。它根据 Apache V2.0 许可协议[3]开源,使用 PostgreSQL 作为接口来管理和处理流数据,擅长对无界数据流进行复杂计算。

2部署与可拓展性

ksqlDB 基于 Kafka 构建,与 Kafka 紧密集成。部署 ksqlDB 需要 Java 运行环境和一个运行中的 Kafka 集群。如果使用 Kafka Connect 摄取和传递事件流,则需要一个 Kafka Connect 集群。ksqlDB 支持垂直和水平扩展。

RisingWave 没有部署依赖,可独立部署且无额外要求。RisingWave 的扩展灵活,可以配置为单节点。与 ksqlDB 类似,RisingWave 支持垂直和水平扩展,其自动扩展功能正在开发中,即将上线。

3Source 和 Sink

ksqlDB 摄取和导出数据都主要使用 Apache Kafka 。它可以使用 Kafka Connect 与外部系统集成,支持常见的序列化格式,如 JSON、Avro 和 Protobuf。

相比之下,RisingWave 支持更广泛的 Source 和 Sink,不仅限于 Kafka。这些 Sink 和 Source 包括数据库、消息系统和数据湖。它允许添加新记录和更新现有记录,提供比 ksqlDB 更灵活的数据操作。

4生态系统和工具

ksqlDB 是 Confluent 和 Apache Kafka 生态系统的一个组成部分,用户使用 SQL 语法,能利用各种 Kafka Connect Connector。需注意的是,ksqlDB 完全由 Confluent 拥有,并遵循 Confluent 社区许可协议。随着 Confluent 已经把 Flink 作为主要的流处理引擎,这让已经使用 ksqlDB 的用户面临迁移到 Flink,或者选择其他流处理系统的问题。

RisingWave 与 PostgreSQL 兼容,使其能够与许多已经支持 PostgreSQL 集成的数据工程系统、可视化系统和分析系统集成。此外,RisingWave 正在积极开发更多与不同数据系统的集成以惠及更广泛的用户。

5结论

ksqlDB 和 RisingWave 都是用户友好且强大的流处理系统,各有其优势和侧重点。如果您的技术栈已经与 Java 和 Kafka 生态系统紧密集成,并且工作负载主要包括 Join、过滤和小窗口聚合,那么 ksqlDB 是一个很好的选择。

如果您正在构建实时管道,并且不希望被限制在任何特定生态系统中,或者您非常重视成本效益,那么 RisingWave 会更适合您。对于这两种产品的选择,取决于您的具体使用场景、需求以及对对应技术的熟悉程度。

参考资料
[1]

ksqlDB 基于 Kafka Streams 构建: https://docs.ksqldb.io/en/latest/operate-and-deploy/how-it-works/#:~:text=ksqlDB%20is%20built%20on%20Kafka%20Streams%2C%20a%20robust%20stream%20processing,streaming%20applications%20on%20Kafka%20topics.

[2]

Confluent 社区许可协议: https://www.confluent.io/confluent-community-license/

[3]

Apache V2.0 许可: //www.apache.org/licenses/LICENSE-2.0

关于 RisingWave 

RisingWave 是一款基于 Apache 2.0 协议开源的分布式流数据库,致力于为用户提供极致简单、高效的流数据处理与管理能力。RisingWave 采用存算分离架构,实现了高效的复杂查询、瞬时动态扩缩容以及快速故障恢复,并助力用户极大地简化流计算架构,轻松搭建稳定且高效的流计算应用。
RisingWave 始终聆听来自社区的声音,并积极回应用户的反馈。目前,RisingWave 已汇聚了 150+ 名开源贡献者和 3000+ 名社区成员。全球范围内,已有上百个 RisingWave 集群在生产环境中部署。

往期推荐

技术内幕

如何上手 RisingWave 👉 新手入门教程

RisingWave 中文用户文档上线,阅读更高效!

深入探索 RisingWave 中的高可用性与容错机制

深入理解 RisingWave 流处理引擎(三):触发机制

深入理解 RisingWave 流处理引擎(二):计算模型

深入理解 RisingWave 流处理引擎(一):总览

用户案例
视源股份(CVTE)IT 流计算应用历程
尘锋 SCRM 如何使用 RisingWave 实时打宽
RisingWave 在超百亿管理规模对冲基金公司中的应用
金融科技公司 Kaito 使用 RisingWave 实现实时智能化
龙腾出行如何通过 RisingWave 实现实时数据分析
RisingWave 助力乾象投资打造实时监控平台

RisingWave中文开源社区
RisingWave 是一款开源分布式 SQL 流数据库,致力于大幅降低流计算使用门槛与复杂度。RisingWave 已为全球超百家企业构建新一代流处理与分析平台。
 最新文章