CQL概念

CQL概念CQL 概念 cql

大家好,欢迎来到IT知识分享网。

1. CQL概念:CQL(continuous query language)是一个基于SQL的声明式语言, 它用于在流(streams)和可更新关系(updatable relation)上进行可持续查询。

 

2. CQL 定义了两种数据类型语言:stream 和 relation。CQL中的relation与传统relation相比,CQL中的relation增加了时间概念。

 

3. CQL 定义了三种操作类型:stream-to-relation,relation-to-relation,relation-to-stream。

  • stream-to-relation: 由流产生关系。CQL使用从SQL-99派生出来的窗口特定语言去处理s-r操作。其中SQL-99是一个SQL的标准。目前所有在CQL上的s-r操作都给予滑动窗口的概念。CQL中的滑动窗口的操作分为三类:time-based sliding window(基于时间的滑动窗口),tuple-based window(基于行的滑动窗口)和partitioned window(基于属性划分的滑动窗口)。其中partitioned window,即根据属性A1,A2…Ak将流S逻辑划分成几个子流,类似于SQL中的Group By。
  • relation-to-relation: 由关系产生关系。CQL使用SQL来表示r-r操作。但从技术上讲,CQL不是直接导入现有的传统关系操作,因为CQL中的关系增加了时间概念。所以,CQL在两种关系间做了映射。若Or表示传统关系R1,R2…Rn上的操作,则CQL上的关系操作Oc则可表示为,在时间t产生的关系R(t)= Or(R1(t),R1(t),…Rn(t))
  • relation-to-stream: 由关系产生流。CQL定义了三种具体的r-s操作,分别是Istream,Dsream和Rstream。Istream(insert stream),Dsream(delete stream),Rstream(relation stream)

4. CQL 处理过程举例:

    s-s:由一个流产生一个新流:

  1.     将流转化为关系 turn the stream into a relation
  2.     处理该关系 perform a relation filter
  3.     将关系结果转换回流形式 turn the relation back into a stream 

    从该例中可以看出CQL充分利用SQL操作,利用流和关系之间的转化来解决在流和关系上进行可持续查询的问题。

 

5. 一般定义可以可持续查询语言的步骤:

  1. 找到一个关系查询语言。Take a relational query language
  2. 将对关系的引用替换为对流的引用。 Replace references to relations with references to streams
  3. 注册流处理器的查询。 register the query with the stream processor
  4. 等待结果。 wait the answers to arrive

  注意聚合,子查询,窗口机制,流与关系的混合查询等这些较复杂问题。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/135496.html

(0)
上一篇 2025-07-04 15:15
下一篇 2025-07-04 15:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信