通过 Stream Processing 演示解决实际问题
该项目集合旨在通过可执行的演示,展示如何使用 stream processing 解决实际问题,反驳“stream processing 难学难用、昂贵且无商业价值”的观点。项目提供入门、基本示例、简单演示和解决方案演示,涵盖从 Kafka、PostgreSQL 等数据源摄取、处理、转换和卸载数据的流程,并使用 RisingWave 作为默认的 stream processing 系统。用户仅需笔记本电脑即可运行演示,欢迎参与讨论。
risingwavelabs/awesome-stream-processing
一个展示如何使用 stream processing 解决实际问题的演示集合。
License
🏫 Awesome Stream Processing 🏫
对于许多人来说,"stream processing" 这个词可能听起来令人生畏。 我们经常听到这样的说法:
- "Stream processing 太难学了,也太难用了!" 😱
- "Stream processing 非常昂贵!" 😱
- "我看不到 stream processing 的任何商业用例!" 😱
然而,我们认为事实并非如此。 ❌
流式数据无处不在,来自操作型数据库、消息队列、物联网 (IoT) 设备和许多其他来源。 人们可以利用现代 stream processing 技术,使用 SQL 作为编程语言,轻松解决经典的实际问题。
在本仓库中,我们提供了一系列可执行的演示,展示 stream processing 如何应用于实际场景:
- 入门 ✅
- 安装 Kafka、PostgreSQL 和 RisingWave,并在您的设备上运行最简单的示例。
- 将 RisingWave 与其他数据平台集成。
- 基本的 stream processing 示例 ✅
学习从流式系统中摄取、处理、转换和卸载数据的基本原理。
- 查询和处理事件流数据(👈 Kafka 用户,您可以从这里开始! 💡)
- 直接查询存储在事件流系统(例如 Kafka、Redpanda)中的数据。
- 持续摄取和分析来自事件流系统的数据。
- 使分析更接近操作型数据库(👈 Postgres 用户,您可以从这里开始! 💡)
- 从操作型数据库(例如 MySQL、PostgreSQL)卸载事件驱动的查询(例如,物化视图和触发器)。
- 实时 ETL (Extract, Transform, Load)
- 持续且增量地执行 ETL。
- 查询和处理事件流数据(👈 Kafka 用户,您可以从这里开始! 💡)
- 简单演示 ✅
- 一个简单的、独立的演示集合,展示 stream processing 如何应用于特定的行业用例。
- 解决方案演示 ✅
- 一个全面的演示集合,展示如何为实际应用程序构建 stream processing 管道。
我们使用 RisingWave 作为默认的 stream processing 系统来运行这些演示。 我们还假设您已安装 Kafka 和/或 PostgreSQL,并且具备使用这些系统的基本知识。 这些演示已在 Ubuntu 和 Mac 上验证。
您只需要一台笔记本电脑 💻 - 不需要集群。
欢迎提出任何意见。 祝您流式传输愉快!
加入我们的 Slack 社区,与数千名 stream processing 爱好者进行讨论!