美文网首页mysql大数据
ksqlDB用于流处理应用

ksqlDB用于流处理应用

作者: 佛系小懒 | 来源:发表于2020-01-29 13:43 被阅读0次

概述

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

ksqlDB组件

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

Collections

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

  • Streams 是不可变的, append-only的集合。添加相同key的多个事件只需附加到流尾部。
  • Tables 是可变的集合。只展示每个key的最新value信息。它更适于随时间变化的模型,常用于表示聚合。

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

Materialized Views

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

Queries

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

  • Pull queries 允许开发者获取当前状态的物化视图,物化视图会随着新事件的到来进行增量更新,pull类型query更适合的低延时的请求/响应流。
  • Push queries 允许开发者订阅物化视图更新及流的变化。当新事件到达时,push查询发出refinements,事件流媒体应用程序可以对新信息实时反应。push queries更适合异步应用程序流。
ksqlDB的架构及组件

ksqlDB应用

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

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

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

基于ksqlDB的应用架构 基于非ksqlDB的应用架构

相关文章

  • ksqlDB用于流处理应用

    概述 ksqlDB是一个事件流数据库,专用来帮助开发人员创建基于Apache Kafka的流处理应用程序。它基于轻...

  • Java知识总结

    1.什么是kafka? Kafka是一款分布式的流处理框架。用于构建实时流处理应用。 2.Spring提供了很好的...

  • ksql 安装 与查询

    环境: ksqldb官方文档:https://docs.ksqldb.io/en/latest/developer...

  • Java 9 Reactive Streams

    Java 9Reactive Streams允许我们实现非阻塞异步流处理。这是将响应式编程模型应用于核心java编...

  • IO

    IO流:用于处理设备上的数据,即:InputStream,OutputStream IO流的具体分类:1,根据处理...

  • SpringBoot 整合 Kafka

    Kafka 概述 Apache Kafka 是一个分布式流处理平台,用于构建实时的数据管道和流式的应用.它可以让你...

  • 026-Kafka

    Kafka 概述 Apache Kafka 是一个分布式流处理平台,用于构建实时的数据管道和流式的应用.它可以让你...

  • 网络通信

    aio,操作系统处理读写流,完成后通知应用 bio,同步 nio,异步 bio,nio需要应用处理读写流 jdk7...

  • 常用流

    一、处理流 用于增强功能,提高性能。位于节点流之上 1.缓冲流 字节缓冲流:BufferdeInputStream...

  • AuTO:扩展深度强化学习以启用数据中心级自动流量优化--论文阅

    sigcomm'18--香港科技大学 摘要: 目前DRL(深度强化学习)算法的时延过大,不能直接应用于处理流级别的...

网友评论

    本文标题:ksqlDB用于流处理应用

    本文链接:https://www.haomeiwen.com/subject/hnpvthtx.html