ATLas为数据挖掘和数据流应用的一个SQL扩展_第1页
ATLas为数据挖掘和数据流应用的一个SQL扩展_第2页
ATLas为数据挖掘和数据流应用的一个SQL扩展_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ATLas:为数据挖掘和数据流应用的一个SQL扩展由于传统的DBMS查询语言本身功能有限,不能适应数据驱动的应用,如数据挖掘和数据流处理,因此Atlas在传统的DBMS查询语言基础上定义了一套新的数据库查询语言,通过在传统SQL上定义新的集合和表运算,使得Atlas成为图灵完备的语言。Atlas的语言规范的核心是对user defined aggregates(UDAs)的定义,一个UDA包含三个部分:initialize,iterate和terminate。一个UDA的定义如下图所示:在上图中vdec(变量定义)的规范如下:<statement>就是传统的SQL-like sta

2、tement。一个UDA有输入参数,也有输出参数,这些参数可以理解为元组。UDA的initialize部分是这个UDA的初始化部分,只运行一次。iterate部分是UDA的核心,在每当有一个元组输入时便调用一次,这个可以满足数据流处理的需求。Terminate部分是UDA的结束部分,当输入元组是有限表中的元组时,terminate部分才是必需的,如果UDA的输入是无限的数据流元组, terminate部分显然不再需要,这时terminate部分可以缺省,也可以由revise来代替。在iterate部分和terminate部分都可以产生输出。如果在iterate部分产生输出,那么输出就可以看成是

3、一个流(这是因为atlas将UDA的运行时模型作为一个管道来处理,在iterate部分产生的输出可以马上传递给调用者)。在数据流处理中,initialize和iterate部分分别在UDA第一次启动运行时和数据流的窗口边界还没到达时执行,一旦窗口边界到达了,iterate部分将不再执行,对每个新来的元组,将由revise部分执行。同时,系统维护一个包含了刚刚过期的元组表EXPIRE,对于基于元组计数的窗口,EXPIRE表中只有一个元组,对于基于时间段的窗口,EXPIRE表中可能含有零个,一个或多个元组。下面图一给出了数据流处理的一个例子,定义了窗口上的平均值。其中在revise部分的E表就是E

4、XPIRE表,它是系统表,不需要声明。同时Atlas还支持窗口的定义,下面图二给出了一个示例。图一图二由图二可以看出窗口定义包含三部分:1 Partition子句(可选),将流数据分成几个组,并为每个组分别维护一个窗口2 窗口大小(必需),可以基于元组数量,也可以基于时间段3 条件过滤谓词(可选)Atlas既支持传统数据库表上的聚集挖掘操作(这里就不作介绍了),又支持数据流上的处理。因此在Storage Manager中便支持传统Berkeley DB的接口,又有内存数据表及索引接口。下面两幅图就是描述了Atlas的体系结构。图三是altas的流程框架,将altas脚本转化成c+程序的步骤,将c+程序进行编译链接,最后都会转化成可执行程序。图三图四是对atlas核心部分的细化描述。其中stream engin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论