2022年RisingWave开源社区年度报告

RisingWave是一个开始于2021年年初的云原生流式数据库项目。自从2022年4月8日正式在Github上以Apache 2.0协议开源以来,RisingWave已经成长为一个由100多位贡献者协同开发、拥有约3700个star的人气项目。本文将回顾RisingWave在2022年的发展历程,并对2023年进行一些展望。

RisingWave的设计初衷

RisingWave的设计初衷是简化流处理,让流处理惠及更多用户。自“Monitoring Streams – A New Class of Data Management Applications”论文在数据库顶级会议VLDB发表以来,流处理这一概念已经被学术界与工业界探索了20个年头。Apache Storm、Apache Flink、Apache Samza、Apache Spark Streaming等工业级项目迅速崛起,从市场角度进一步验证了流处理为科技公司带来的巨大价值。然而,现有的流处理系统仍然存在学习门槛高、开发运维偏难、性能成本偏低等问题。RisingWave就是为了解决这些问题而生。RisingWave有几下几大特点:1)提供与主流数据库PostgreSQL完全兼容的协议,让用户可以使用简单的SQL在数据流上进行复杂分析;2)不依赖于Zookeeper等过时JVM生态组件,并原生支持Kubernetes,让系统在云上运维变得简单;3)采用存算分离架构大大降低运行成本,并在云上实现无限弹性扩缩容。

作为数据库系统,RisingWave支持数据持久化存储,并允许用户对存储的数据进行高并发查询,这使得用户可以使用RisingWave这一单一系统来替代传统“流处理框架+数据库”组合(如Flink+Cassandra组合),从而高效方便的支持实时应用程序。

RisingWave的目标并不在于取代现有Apache Flink等计算框架,而在于用更简单更高效的方式让流处理普惠大众。正如批处理领域Snowflake(SQL数据库)与Apache Spark(大数据计算框架)所形成的互相促进的关系一样,RisingWave(SQL数据库)也希望能与Apache Flink(大数据计算框架)一起推动流处理领域的发展。

RisingWave在2022年的成果

以下列举RisingWave在2022年取得的几项与用户紧密相关的成果。

  • 强化稳定性与性能测试
    稳定性与性能是任何一款基础架构系统的基石。功能再强大的系统,如果没有稳定性与性能的保证,终究难以广泛被用户使用。RisingWave自从第一天起就将稳定性与性能测试视为重中之重。在过去的一年中,RisingWave不断从各个开源产品中收集测试用例,并将其加进RisingWave自身的集成测试中。同时,RisingWave也添加了确定性测试框架,使用确定性测试方法来更加便捷的定位与排除bug。RisingWave也完成了初版的内部性能测试。通过使用Nexmark、TPC-H等性能测试基准,我们得到了RisingWave比同类产品在无状态与有状态计算中都能得到50%甚至数倍性能提升的结论。

  • 实现PostgreSQL大部分常用功能
    为了大幅降低用户使用流处理的门槛,RisingWave使用了与PostgreSQL几乎一样的SQL语法。也就是说,只要用户会使用PostgreSQL,那么用户就会使用RisingWave进行流数据处理。PostgreSQL是经历过三十多年考验的成熟数据库系统, 其所支持的功能极其复杂,想要完全实现PostgreSQL的功能,必定将花费数年时间。但RisingWave已经实现了最常用的PostgreSQL算子与表达式,能够很好的支持复杂查询。RisingWave正不断通过社区动态调整功能实现的优先级,希望从真实用例出发打造功能更加完整的系统。

  • 实现与多个上下游系统集成
    RisingWave的传输协议完全与PostgreSQL兼容。也就是说,PostgreSQL理论来说能够与各个支持PostgreSQL的系统集成。当然,由于系统具体实现的复杂性,RisingWave仍对主流系统的集成进行了大量测试,确保安全可靠。作为流处理系统,RisingWave同样支持数据的导入导出。用户只需通过create source与create sink语法便能轻易将数据导入导出RisingWave。

到2022年年底,RisingWave已经支持的上下游系统包括但不限于:Kafka,Redpanda,Pulsar,Kinesis,SQL CDC,PostgreSQL CDC,AWS S3,Iceberg,Hudi等等。所支持的BI工具也包含了Grafana,Metabase,Superset等等。用户可以通过访问risingwave.dev网站了解更多信息,并告知我们所需支持的系统。

  • 实现对持久化数据高并发访问支持
    RisingWave是一个支持流处理的数据库。这不仅意味着用户可以通过操作数据库的方式通过SQL来进行流处理,同时也意味着用户可以将数据直接存在RisingWave中。RisingWave支持持久化数据的存储,并且允许用户直接对所存储的数据进行高并发访问。这一功能使得RisingWave能够直接替代Flink+Cassandra/Redis/DynamoDB等系统的组合,用一套系统支持复杂的流处理应用,从而达到降本增效的目的。

  • 开源RisingWave Operator
    RisingWave作为一个云原生数据库,从第一天起就将Kubernetes部署的支持列为高优先级项目。我们于2022年4月开源RisingWave主项目不久,便在Github上开源了RisingWave Operator项目(https://github.com/risingwavelabs/risingwave-operator)。这使得有需求通过Kubernetes部署RisingWave的用户能够快速高效部署。

- RisingWave在2023年的发展方向

列举完RisingWave在2022年取得的进展,我们接下来聊一下2023年RisingWave的主要发展方向。

  • 更好的稳定性
    更好的稳定性一直是RisingWave的核心发展方向之一。RisingWave在2023年会更加激进的推动稳定性保障,并会积极联合社区用户寻找出可能存在的稳定性问题。

  • 更透明的性能报告
    性能是很多项目追逐的方向。但RisingWave不想把为了追求性能而追求性能,也不想把”benchmarking“做成”benchmarketing“。RisingWave开发者们也完全理解影响性能的因素多种多样,难以彻底罗列。为了更好的让社区用户了解RisingWave的性能,RisingWave将在2023年年初推出公开性能测试报告,让任何人都能够轻易理解RisingWave与其他流系统的性能优劣,并轻松复现结果。

  • 提升join、window等算子在极端场景下的性能
    在流处理中,join、window等带状态算子复杂且核心。不少用户已经对RisingWave的join、window等性能提出了更高的要求。在2023年中,RisingWave会不断完善这些功能,丰富join与window等算子的种类,并对这些算子在极端场景下进行压力测试,确保RisingWave在复杂场景下的稳定性与性能。

  • 完善与提升watermark等功能
    与传统批处理系统不同,流处理系统拥有watermark等语义。RisingWave作为流处理系统,支持exactly once语义,并对存储数据支持强一致性访问。于此同时,RisingWave已经部分支持了watermark语义。但watermark语义多样。RisingWave在2023年将更加全面的支持watermark等流处理特定功能,并提供文档与教程让用户更好的理解与使用这些复杂功能。

  • 提供更加友好的交互界面
    想要操作复杂数据系统,少不了良好的交互与管控界面。RisingWave将在2023年推出新版RisingWave UI,让用户能够更加轻易的使用RisingWave。

总结

RisingWave项目的高速发展离不开用户的持之以恒的支持与鞭策。到2022年年底,RisingWave已在金融、互联网、娱乐等场景落地。我们预计在2023年第二季度开始陆续放出RisingWave的使用报告,供社区用户参考与指正。由于疫情的放开,我们也会在多个地区进行线下活动,希望大家多多捧场。同时,我们也欢迎个人与企业用户加入到RisingWave社区,为RisingWave的发展提出宝贵意见。感谢各位!

关于 RisingWave

RisingWave是一个云原生SQL流式数据库。其旨在降低构建实时应用的门槛以及成本。
GitHub: risingwave.com/github
官网: risingwave.com
Slack: risingwave.com/slack
文档: risingwave.dev
推特:RisingWaveLabs
微信公众号:RisingWave中文开源社区
社区用户交流群:risingwave_assistant

本作品采用《CC 协议》,转载必须注明作者和本文链接
Singularity Data Inc. 奇点无限,专注于下一代云原生流式数据库 Thank you and best regards! Please reach me at HR:何子 Tel:15811483868 Wechat:hezijiangjiang Add:北京市朝阳区望京国际商业中心 WeWork 4 层 Join us:www.singularity-data.com/
hezijiangjiang
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!