Kafka的作者Neha Narkhede在Confluent上发表了一篇博文,介绍了Kafka新引入的KSQL引擎——一个基于流的SQL。推出KSQL是为了降低流式处理的门槛,为处理Kafka数据提供简单而完整的可交互式SQL接口。KSQL目前可以支持多种流式操作,包括聚合(aggregate)、连接(join)、时间窗口(window)、会话(session),等等。

与传统SQL的主要区别

KSQL与关系型数据库中的SQL还是有很大不同的。传统的SQL都是即时的一次性操作,不管是查询还是更新都是在当前的数据集上进行。而KSQL则不同,KSQL的查询和更新是持续进行的,而且数据集可以源源不断地增加。KSQL所做的其实是转换操作,也就是流式处理。

KSQL的适用场景

1.实时监控

一方面,可以通过KSQL自定义业务层面的度量指标,这些指标可以实时获得。底层的度量指标无法告诉我们应用程序的实际行为,所以基于应用程序生成的原始事件来自定义度量指标可以更好地了解应用程序的运行状况。另一方面,可以通过KSQL为应用程序定义某种标准,用于检查应用程序在生产环境中的行为是否达到预期。

2.安全检测

KSQL把事件流转换成包含数值的时间序列数据,然后通过可视化工具把这些数据展示在UI上,这样就可以检测到很多威胁安全的行为,比如欺诈、入侵,等等。KSQL为此提供了一种实时、简单而完备的方案。

3.在线数据集成

大部分的数据处理都会经历ETL(Extract——Transform——Load)这样的过程,而这样的系统通常都是通过定时的批次作业来完成数据处理的,但批次作业所带来的延时在很多时候是无法被接受的。而通过使用KSQL和Kafka连接器,可以将批次数据集成转变成在线数据集成。比如,通过流与表的连接,可以用存储在数据表里的元数据来填充事件流里的数据,或者在将数据传输到其他系统之前过滤掉数据里的敏感信息。

4.应用开发

对于复杂的应用来说,使用Kafka的原生Streams API或许会更合适。不过,对于简单的应用来说,或者对于不喜欢Java编程的人来说,KSQL会是更好的选择。

KSQL架构

KSQL是一个独立运行的服务器,多个KSQL服务器可以组成集群,可以动态地添加服务器实例。集群具有容错机制,如果一个服务器失效,其他服务器就会接管它的工作。KSQL命令行客户端通过REST API向集群发起查询操作,可以查看流和表的信息、查询数据以及查看查询状态。因为是基于Streams API构建的,所以KSQL也沿袭了Streams API的弹性、状态管理和容错能力,同时也具备了仅一次(exactly once)语义。KSQL服务器内嵌了这些特性,并增加了一个分布式SQL引擎、用于提升查询性能的自动字节码生成机制,以及用于执行查询和管理的REST API。

【KSQL引擎 介绍】相关推荐

  1. mysql数据库引擎介绍

    mysql数据库引擎介绍 你能用的数据库引擎取决于mysql在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和HE ...

  2. MySQL—05—MySQL如何处理SQL语句;MySQL数据库存储引擎介绍;

    一. MySQL 中的执行计划 1 MySQL 执行计划 在 MySQL 中可以通过 explain 关键字模拟优化器,执行 SQL 语句,从而知道 MySQL 是 如何处理 SQL 语句的. 2 M ...

  3. 数据库-优化-MYSQL执行引擎介绍

    MySQL执行引擎介绍(了解) 1.MyISAM存储引擎 不支持事务.也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表 支持 ...

  4. MySQL数据库引擎介绍、区别、创建和性能测试的深入分析

    深入理解MySQL的数据库引擎的类型 作者: 字体:[增加 减小] 类型:转载 本篇文章是对MySQL的数据库引擎的类型进行了详细的分析介绍,需要的朋友参考下   你能用的数据库引擎取决于mysql在 ...

  5. Unreal、CryEngine、Gamebryo引擎介绍

    在中国市场上应用于网络游戏的商业引擎除BigWorld之外,还有美国Epic公司研发的虚幻系列引擎.德国Crytek公司研发的CryEngine系列引擎及美国Emergent公司研发的Gamebryo ...

  6. 【贪玩巴斯】Unity3D初学圣经(一)——学习要求 Unity简单介绍 游戏引擎介绍 课程体系介绍 「1-1 到 1-4 」—— 2021年12月9日

    Unity3D初学圣经 一 --学习要求 & Unity简单介绍 & 游戏引擎介绍 & 课程体系介绍 本文对应视频P1 1-1 到P2 1-4 1.学习要求 2.Unity简单 ...

  7. (1)Mysql架构和常用引擎介绍

    Mysql设计原理栏目总结 (1)Mysql架构和常用引擎介绍 (2)Mysql索引原理和优化总结 1.MySQL逻辑架构图 (1)Server层:包括图中XX,以及所有内置函数和所有跨存储引擎功能, ...

  8. HTML5游戏引擎lufylegend深入浅出 - 引擎介绍原理

    又很久没有更新博客了,在这段时间里发生的事还蛮多的,回想起来才发现时间过得好快啊.至于博客嘛,天天都会关注,一来想看看大家是否写了一些评论,二来想看看大神们(如lufy,浅墨,雾央,Himi等)有没有 ...

  9. 客快物流大数据项目(九十二):ClickHouse的MergeTree系列引擎介绍和MergeTree深入了解

    文章目录 ClickHouse的MergeTree系列引擎介绍和MergeTree深入了解 一.MergeTree系列引擎介绍 二.​​​​​​​MergeTree深入了解 1.创建MergeTree ...

最新文章

  1. 开通域名绑定DDNS
  2. 北海市卫生学校计算机教室,北海卫校2021年招生简章_北海市卫生学校
  3. rem和em学习笔记及CSS预处理
  4. 重复包含定义 导致未定义类型不识别错误
  5. ff7重制版青魔法_狂父重制版发布+妖精的尾巴首次打折¥244+最终幻想4解锁国区新增中文...
  6. PAT(Basic Level)--个位数统计
  7. [JS]视频总结-第一部分_了解JavaScript
  8. Javaweb实现登录界面“记住我”功能
  9. Java设计模式之《装饰器模式》及应用场景
  10. 泛域名证书ACME 阿里云域名
  11. c语言功率算电量,电功率你理解透了吗?怎么算功率因数?1度电是多少?
  12. Linux菜鸟到老鸟的那些建议
  13. 未来可期的6个物联网发展
  14. RustDesk 自建服务器,局域网可以连接服务器,外网就不可以了。 求高手指点迷津。
  15. 【网络安全】-- 网络渗透技术攻防(--更新中)
  16. 我和TiDB的故事 | 遇上你是我的缘
  17. 刚開始学习的人制作VMOS场效应管小功放
  18. 超越股神的贝佐斯:“我可是在做一件大事”
  19. 仿酷狗音乐播放器开发日志二十四 选项设置窗体的实现(附328行xml布局源码)...
  20. 质感设计 android,扣丁学堂Android开发Flutter质感设计之底部导航

热门文章

  1. 消愁计算机数字按键,明日之后2019最新钢琴谱数字编码顺序大全:纸短情长、起风了、往后余生[多图]...
  2. 操作系统 虚拟内存技术
  3. Mysql----修改语句(alter)
  4. 首个AI公园探秘:身高体重一秒被曝,大爷大妈坐无人车玩疯了
  5. springboot毕设项目牙无忧6ayy4(java+VUE+Mybatis+Maven+Mysql)
  6. linux kde vga参数1366,Archlinux+KDE 下双屏VGA高分辨率设置
  7. 微信小程序~textarea字数限制与计算
  8. 社会心理学第四章 态度与行为
  9. 银河麒麟Kydroid1.0新品正式发布--助力安可产业生态建设
  10. java递归处理单位人员组织机构树