CQL概念
来源:互联网 发布:unity3d虚拟现实 编辑:程序博客网 时间:2024/05/17 23:37
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:由一个流产生一个新流:
- 将流转化为关系 turn the stream into a relation
- 处理该关系 perform a relation filter
- 将关系结果转换回流形式 turn the relation back into a stream
从该例中可以看出CQL充分利用SQL操作,利用流和关系之间的转化来解决在流和关系上进行可持续查询的问题。
5. 一般定义可以可持续查询语言的步骤:
- 找到一个关系查询语言。Take a relational query language
- 将对关系的引用替换为对流的引用。 Replace references to relations with references to streams
- 注册流处理器的查询。 register the query with the stream processor
- 等待结果。 wait the answers to arrive
注意聚合,子查询,窗口机制,流与关系的混合查询等这些较复杂问题。
- CQL概念
- cql
- CQL
- CQL手册
- cassandra cql
- Neo4j CQL
- Neo4j CQL
- Neo4j CQL
- Neo4j CQL
- Neo4j CQL
- Neo4j CQL
- Cassandra数据操作 -- CQL
- Cassandra CQL使用详解
- Cassandra CQL的限制
- cassandra cql解析
- cassandra cql查询
- Cassandra CQL Data Types
- Neo4j的CQL语法
- 短代码-字符串检测
- A cygwin mirror website
- OpenCV 之图像篇 常用函数
- google-glog 修改 参数的三种方法,包括日志目录
- WIN7 IIS安装
- CQL概念
- Flash Builder 4-找不到所需的 Adobe Flash Player
- EJB的工作原理
- MFC诊断信息输出(一)
- 用户打电话给腾讯QQ客服
- Spring事务拦截器 AOP原理
- Bresenham算法实现任意斜率直线绘制
- ExtJS 联动 ComboxBox 赋初始值的解决办法
- 关于Linux系统调用,内核函数