1 / 22

An Abstract Semantics and Concrete Language for Continous Queries o0ver Streams and Relations

An Abstract Semantics and Concrete Language for Continous Queries o0ver Streams and Relations. Stream Group. 内容提示. 抽象语义 流与关系的形式定义 他们之间的映射 关系查询语言 具体语言 CQL SQL SQL-99 优化等. Introduction. 基于 “ 黑盒 ” 组件定义了一个抽象语义 - 任何关系查询语言,任何窗口描述语言,和一组关系 - 流操作符 接下来定义了一个具体的语言来实例化黑盒。. 以下几个目标.

amalia
Download Presentation

An Abstract Semantics and Concrete Language for Continous Queries o0ver Streams and Relations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Abstract Semantics and Concrete Language for Continous Queries o0ver Streams and Relations Stream Group

  2. 内容提示 • 抽象语义 流与关系的形式定义 他们之间的映射 关系查询语言 • 具体语言CQL SQL SQL-99 • 优化等

  3. Introduction • 基于“黑盒”组件定义了一个抽象语义-任何关系查询语言,任何窗口描述语言,和一组关系-流操作符 • 接下来定义了一个具体的语言来实例化黑盒。

  4. 以下几个目标 1。我们希望利用被很好的理解的关系语义 2。我们希望执行简单任务的查询也能简单 且写起来紧凑。相反的,我们希望看起来简单的查询能作希望做到的事。 3。既然转换对查询优化来说很重要,我们不想用标准关系变换限制我们的新的构造和操作符,或者我们的语义解释。更进一步,我们想构造特别对于流的转换。

  5. 运行实例 • 在线拍卖 • 由用户,用户的交易,和用户或系统管理员注册的连续查询组成 • 用户提供名字和居住当前状态来注册。 • 注册过的用户以后可以注销 • 三种交易是可行的:用户可以放置一个交易物品,并提供一个起始价,他可以关闭一个他先前开始的交易,他可以向由别人开始的交易投标。

  6. 流和关系 • 定义4。1(流)流S是elements(s,t)的包(bag),s是一个符合schema的元组,г∈Г是这个元素的时间标记。 • 定义 4。2(关系)关系R是一个从Г到有限无界元组集的映射,每一个元组都符合这个关系的schema。

  7. 运行实例的建模 • 我们的在线拍卖系统由如下五个流组成: • *注册(用户id,姓名,状态) • *注销(用户id) • *开始(物品id,卖出者,起价) • *关闭(物品Id) • *竞价(物品id,竞标者id。成交价)

  8. 映射操作符 • 我们考虑三种流和关系上的操作符:流-关系,关系-关系,关系-流操作符。流-流操作符由这三种操作符组成。

  9. 映射操作符(Contd) • 流-关系操作符将流S作为输入,产生一个与S有相同Schema的关系R作为输出。在任何时间t,R(t)应该可由到t为止的S的元素算出。

  10. 映射操作符(Contd) • 关系-关系操作符由一个或多个关系R1,R2。。。Rn作为输入,产生一个关系R作为输出。 • 关系-流操作符将R作为输入,产生与R有相同schema的流S

  11. 抽象语义 • 我们假定任何一个查询由以下三个块组成: • 1。任何关系查询语言,可以抽象的看成一组关系到关系操作符。 • 2。一个窗口规格语言,用来从流中抽取元组。我们可以看成一组流到关系操作符。 • 3。三个关系到流操作符:Istream,Dstream,Rstream。

  12. Streams Relations Window Specification Language Streams Relations Relational Query language Relation to Streamoperators

  13. CQL CQL包含了三个SQL的句法扩展: • 1。在SQL中引用关系的任何位置,在CQL中可以引用流。 • 2.在CQL中,任何对基流的引用,及任何子查询产生的流,后面都要跟一个窗口规格说明。 • CQL中任何对关系或子查询产生的关系的引用可以通过Istream,Dstream,Rstream转换为流。

  14. CQL Example 1。流过滤 找出所有起价超过100的交易,并且以流的形式输出结果。 Select * From Open Where start_price > 100

  15. CQL Example 3.流子查询 维持一个当前开着,而未结束的拍卖的表 Select * From Open Where item_id Not In (Select * From Close)

  16. CQL Example 4。派生的关系 计算包含当前未注销的注册用户的用户关系 Select user_id, name, state From Register[Partition By user_id Rows 1] Where user_id Not In (Select * From Deregister)

  17. CQL Example 5。窗口化的流连接 在所有的拍卖中输出item_id流,对于这个 拍卖,从开始到结束的时间在5小时内。 Select Istream(Close.item_id) From Close[Now],Open[Range 5 Hours] Where Close.item_id = Open.item_id

  18. 等价查询转换 我们的抽象语义保证了所有的SQL中的等 价变换CQL中也支持,包括子查询展平, 连接重排序,谓词下推,等。此外,以内 任何CQL查询和子查询产生一个关系,能 被看作一个物化视图,所有的物化视图维 护的等价变换也可以用在CQL中。

  19. 考虑两个基于流的转换 • 窗口缩减 • 过虑窗口交换

  20. 窗口缩减 • 将有Unbouinded窗口和Istream操作符的查询转换为用Now窗口和Rstream操作符的等价形式。 • Select Istream(L) From S[Range Unbounded] Where C = Select Rstream(L) From S[Now] Where C

  21. 过虑窗口交换 • selection条件与基于时间的窗口的交换。 • Select Istream(L) From S[Range Unbounded] Where C = Select Rstream(L) From S[Now] Where C

  22. 结论 • 这篇文章是第一篇为流和关系提供说明性通用连续查询语言的文章。 • 我门首先展示了一个基于任何关系查询语言,任何窗口规格语言,和一组将关系映射到流的操作符的抽象语义, • 接着我们提出了CQL,一个具体语言,实现了我们的语义中提出的“黑盒”,用SQL作为关系查询语言,用派生于SQl-99的窗口查询语言。

More Related