RisingWave 使用案例
- 流式 ETL
- 实时分析
- 事件驱动应用
这些都是相关的用例类别。流式 ETL 是实时分析和事件驱动应用的基础。实时分析通过引入数据看板,扩展了流式 ETL,而事件驱动应用程序则在实时分析的基础上添加了评估条件并触发后续操作的逻辑。
流式 ETL
流式 ETL(提取、转换和加载)是指在数据输入时,在不同系统间连续持续提取、转换和移动数据。
与批处理 ETL 作业相比,流式 ETL 具有一些优势,如较低的延迟、可扩展性、更细粒度的数据处理、更高效的资源使用和更好的数据新鲜度。
通常涉及使用流处理框架,如 Apache Flink 或 RisingWave。
RisingWave 如何支持流式 ETL?
- 提取:RisingWave 支持从各种数据源摄取数据,如消息队列、日志文件或数据库的变更数据捕获(CDC)流。
- 转换:RisingWave 允许您对流数据进行各种数据转换,如映射、过滤、连接、聚合、窗口化和有状态处理。
- 加载:可以将 RisingWave 处理过的数据导入下游系统,如数据库、数据仓库或消息队列。
RisingWave 在流式 ETL 技术栈中处于什么位置?
流式 ETL 示例
- 持续数据集成
- 物联网数据处理
实时分析
实时分析是指在数据生成或接收时对其进行分析,而不是事后分析。实时分析可为企业提供近乎实时的宝贵见解和可操作信息,使其能够更快速和明智地做出决策。
在金融、医疗保健和电子商务等许多行业,实时分析可以使企业快速响应不断变化的市场环境、客户行为和运营问题,从而提供竞争优势。实时分析还可用于提高运营效率和降低成本。
与传统的基于批处理的分析相比,实时分析具有明显的优势。然而,实现实时分析应用可能仍具挑战性。
RisingWave 如何支持实时分析?
RisingWave 通过从各种数据源(消息队列、数据库和日志文件等)实时摄取和转换数据来支持实时分析。它在其存储中始终保存新鲜的结果,因而可以直接从数据看板提供查询服务。RisingWave 还提供将数据导入数据库、仓库或数据湖的选项,使用户可以进一步丰富其数据集,以便从中进行查询。此外,它还支持流式 SQL,使技术栈的设置更加容易。
RisingWave 在实时分析技术栈中处于什么位置?
实时分析示例
事件驱动应用
事件驱动应用是对事件或消息做出响应的软件应用,而非传统的请求 - 响应交互。在事件驱动架构中,事件由应用的各个组件生成和消耗,应用的行为由接收到的事件决定。
事件可以是对应用非常重要的任何类型的事件或通知,如用户点击按钮、传感器检测到温度变化或来自另一个应用的消息。事件生成后,通常会发布到消息总线或事件流中,供应用的其他组件使用。
事件驱动应用通常使用微服务架构构建,其中每个微服务负责特定的业务功能,并通过事件与其他微服务通信。这可以提高灵活性和可扩展性,因为每个微服务都可以独立开发、部署和扩展。
事件驱动应用的主要优势之一是能够处理应用不同组件之间复杂的实时交互。通过使用事件在组件之间进行通信,事件驱动应用可以更快对环境中的变化做出响应,且有更强的适应能力。
RisingWave 如何支持事件驱动应用?
RisingWave 通过以下几种方式支持事件驱动应用。
RisingWave 可实现持续的事件摄取和处理,允许应用实时对事件作出响应。RisingWave 对事件时间处理的支持还使其能够处理无序事件和延迟到达的数据。
RisingWave 支持有状态处理,这使其能够在多个事件中保持上下文并执行更复杂的处理。RisingWave 对键控状态的支持还允许事件驱动应用为数据流中的每个键保持状态。
RisingWave 通过 Temporal 运算符和函数以及用户定义函数支持复杂事件处理,使其能够检测事件流中的复杂的模式规律和关联性。
RisingWave 可与各种上游和下游系统(如 Apache Kafka、PostgreSQL 和 MySQL 等)直接集成。这使得事件驱动应用能够利用这些系统进行事件流和存储,从而更容易构建端到端的事件驱动架构。
RisingWave 在事件驱动应用技术栈中处于什么位置?
事件驱动应用示例
- 服务器性能异常检测
- 在线推荐系统
- 库存管理