RisingWave:一个用于流处理的云上开源数据库

流处理系统(下文简称流系统)是现代数据栈中十分重要的技术方向,它们是为流数据的实时分析量身研发的。
在过去的几十年里,研究人员和从业人员投入了大量的精力来开发大规模,高性能和高可用的流处理系统。
基于这些努力,如今开源亦或商业化的流系统已在各大公司的技术栈中长期运行,支持着成千上万的应用,包括广告推荐、欺诈检测、物联网分析等等。

随着流处理领域取得的重大进展,越来越多的公司开始研究现代流系统,并渴望看到现代技术如何改变他们的业务。可惜的是,许多公司在他们的试水过程中陷入困境。
采用流系统的两大阻碍
流处理系统的使用主要有两大问题摆在企业的面前:
(1)难以学习
学习如何使用流系统绝非易事,与提供 SQL 接口的传统数据库(如 MySQL和 PostgreSQL)不同,绝大多数流式系统都要求用户学习一套特定平台的编程接口(很可能是 Java)来处理流数据。
这使得对于非技术人员来说,掌握流系统几乎成为一项不可能完成的任务。
此外,流系统以不同于数据库的方式表示数据,用户必须编写复杂的数据处理逻辑,才能在流系统和数据库之间传输数据。
(2)维护成本高昂
如今许多流行的流系统是开源的,你可以轻易获得自动化的部署脚本和 docker 镜像,但开源从来都不意味着免费或实惠。
在真实业务中,负载时常会因需求而突然波动,这使得企业们不得不采购大规模的机器集群来应对最坏的情况。这时部署和维护一个流系统的成本很可能超过购买机器的成本,试想,要组建一个愿意熬夜运维系统的工程师团队,这是如何令人头痛的问题。
RisingWave:让流处理普惠化
2022 年在 Github 上开源的 RisingWave 解决了上述问题,其目标就是让流处理变得简单、实惠,并且人人都能使用。

简单的流处理
RisingWave 是一个分布式的流数据库。它提供标准的 SQL 接口,兼容 PostgreSQL 语言标准,使其与 PostgreSQL 生态系统能够无缝集成,并几乎无需改动代码。RisingWave 将流视作表,并允许用户以优雅的方式在流数据和历史数据之上编写复杂的查询语句。
有了 RisingWave,用户就可以纯粹专注于他们的查询分析逻辑,而无需学习 Java 或特定系统的底层 API。
实惠的流处理
RisingWave 是为云设计的。云原生架构使得 RisingWave 能够充分利用云平台提供的弹性资源。
作为一个完全托管的服务,RisingWave 可以在云上自助部署、维护和扩容,而不受琐碎细节干扰。一旦用户设定了他们的服务级别协议(SLA),RisingWave 就会自动在云中组装不同层级的计算和存储资源,以最小的成本实现性能目标。
RisingWave 是 Serverless 的:用户按使用情况支付服务费用。除非使用服务,否则用户无需付费,这样一来使得小企业也能轻松上线流处理系统。
开放的流处理
RisingWave 自以 Apache 2.0 许可证开源内核以来,在短短的一年三个月时间里,在 GitHub 上拥有近 5K 颗星标,400 个 fork,以及 130+ 位开源贡献者。

此外,RisingWave 还拥有近 2000 位微信中文社区群成员和 Slack 社区成员。大家都可以参与 RisingWave 项目路线图的设计;每个人都可以在自己的云提供商上部署分布式流数据库;每个人都可以为社区做出贡献并提供反馈。
关于 RisingWave
RisingWave是一款分布式 SQL 流处理数据库,旨在帮助用户降低实时应用的的开发成本。作为专为云上分布式流处理而设计的系统,RisingWave 为用户提供了与 PostgreSQL 类似的使用体验,并且具备比 Flink 高出 10 倍的性能以及更低的成本。了解更多:
GitHub: risingwave.com/github
官网: risingwave.com
公众号:RisingWave 中文开源社区