mysql大数据

ksqlDB用于流处理应用

2020-01-29  本文已影响0人  佛系小懒

概述

ksqlDB是一个事件流数据库,专用来帮助开发人员创建基于Apache Kafka的流处理应用程序。它基于轻量级的SQL语法,大大降低了操作的复杂性要求构建流处理的应用程序,从而促使开发者建立实时系统而不需要大量的时间和开销。

ksqlDB组件

基于ksqlDB的应用主要包括三个核心的基础组件:collections, materialized views及queries。

Collections

Collections提供事件序列的持久存储,ksqlDB提供两种类型的集合:流(Streams)和表(Tables),均基于键/值对。

ksqlDB基于kafka进行存储,创建一个新的collection相当于基于一个topic定义一个流或一个表。

Materialized Views

Materialized views用来表征流或表,使得开发者能够基于现有流或表创建新的集合。物化视图能创将相同数据在不同时间、不同状态的多种表示,对数据聚合非常必要。

Queries

Query允许开发者从应用程序或微服务中访问这些物化的视图。通过pull或push queries进行物化视图的查询

ksqlDB的架构及组件

ksqlDB应用

ETL流处理、实时的应用监控及分析、异常检测、用户个性化数据分析定制、传感器及IoT数据处理、ksqlDB Server、ksqlDB CLI

ksqlDB server运行sql查询引擎,包含数据处理、查询、写入.ksqlDB CLI作为ksqlDB Server的客户端。

下图展示了是否基于ksqlDB的应用架构,对比分析不难看出,对于流处理及连接器,均从之前的独立角色集成到了ksqlDB,ksqlDB除此之外通过物化视图提供了流处理过程中的查询功能。

基于ksqlDB的应用架构 基于非ksqlDB的应用架构
上一篇 下一篇

猜你喜欢

热点阅读