StreamCQL : 实时计算系统 ( CEP ) 中的持续查询语言 CQL


StreamCQL : 实时计算系统中的持续查询语言





CQL  ( Continuous Query Language )  是一个针对流式数据的查询语言。相对于传统的SQL来说,CQL中增加了window 窗口的概念。数据存储在内存中,因此内存中的计算可以快速的完成。


CQL 的查询结果就是流式数据的某个时间点下的计算结果。


CQL 是基于 Strom 的 SQL 查询语言,主要用来针对 Strom 原始的API太复杂,不易用而提出的,当然也添加了一些 Strom SQL 中 本应该有的基本功能。


CQL 改进了Strom的组件的易用性。在设计CQL的时候,我们发现,当前的CEP产品中的语法不只是包含SQL语句,还包含了客户端代码。这一点很不爽,因为这让用户不得不学习客户端API的使用 ,同时也增加了复杂度和难度。


CQL的设计目标就是用纯 SQL语法来避免以上Strom CEP 查询语法带来的缺点。


核心概念:

流 Stream ,即一个有限的元素集合,集合中的元素拥有相同的schema。同时,每个元素都有相对的逻辑时间(属性)。
窗口window:一个用来处理流式时间的方法。有两种窗口,一种是基于时间的,另一种是基于行的。
表达式:符号和操作符的集合。CQL的解析引擎可以处理一个表达式来获得一个固定的值。多个表达式可以组合使用。



©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页