9

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

 3 years ago
source link: https://tianchunfeng.blog.csdn.net/article/details/49447205
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

translate.png
田春峰 2015-10-27 13:45:54 articleReadEyes.png 5465

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的解析引擎可以处理一个表达式来获得一个固定的值。多个表达式可以组合使用。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK