论文摘抄 - Tenzing

本摘抄不保证论文完整性和理解准确性

背景

异构数据的适配及数据可扩展性,资源可扩展性,廉价机器,SQL查询。

架构概述

Worker pool,query server,clientinterfaces,metadata server

Worker线程是long-running的,worker pool包括master节点和worker节点,以及一个master watcher。

Query server把query解析,优化之后传给master执行,优化包括一些基本的规则优化和基于成本的优化。

SQL特性

SQL语法主要是SQL92,并增加了一些高级分析,增强的部分也是适合MR完全可并行化的。

内嵌了Sawzall语法,支持用户写的和Sawzall自带的方法。

 

在映射和过滤方面,

常量表达式在compile阶段就计算;

谓词是常数或者查找是常数范围,那么可以直接下推给Bigtable这样的数据源;

如果谓词不包含复杂的UDF,数据源是mysql这样的数据库,那么也下推给数据源;

如果是分区的,那么也会跳过其他分区数据;

根据ColumnIO的meta信息,跳过范围外的columns数据;

如果下面数据源是面向列的,那么Tenzing会跳过无关列。

 

聚合函数方面,

支持 sum,count,min,max,distinct,count distinct,

还支持统计型的corr,covar,stddev

在实现上加了一些额外优化,如在mapreduce里实现基于hash table的聚合。

 

Join方面,

Tenzing支持跨数据源的各种join方式。

Broadcast joins,基于成本的优化器会发现足够小的table,广播到内存里,让mapper和reducer可以直接内存访问到。还有几个细节的优化点。

Remote lookup joins,如Bigtable支持基于index的key查找,那么就可以实时。

Distributed sort-merge joins。

Distributer hash joins,适合两表都放不了内存,且一张表比另一张大许多,且在join的key上都没有索引的情况。具体实现和优化细节,见论文伪代码及说明,很清晰。

 

分析函数,

类似PostgreSQL/Oracle,支持rank,sum,min,max,lead,lag,ntile。

 

OLAP扩展,

支持rollup,cube。

 

集合操作,

支持标准sql集合操作,如union,union all,minus,minus all。

 

嵌套查询和子查询,

会优化mr个数

 

处理结构化数据,

根据pb协议,有的sql支持有的不行

 

Views,

支持create views

 

DML,

支持批模式下的insert,update,delete,不具备ACID性质。

 

DDL,

支持create table,drop table,rename table,generatestatistics,grant,revoke。

 

Table valued functions,

 

Data formats,

GFS, Bigtable, ColumnIO等

性能

性能目标是能与传统MPP数据库系统比较。

 

对mapreduce的优化和增强,

Work pool的设计,目的是减小latency,具体masterwatcher,master pool和worker pool的指责。

Streaming & In-memory chaining,MRs之间的数据衔接用流的方式;前一个mapper和后一个reducer可以在同一个进程里。

避免sort,一些hash join,hash聚合要shuffle,不要sort,增加了关闭sort开关。

块shuffle,原本基于row的shuffle是为了sort,在不需要sort的情况下,大约1M块的shuffle会高效3X倍。

本地执行,根据数据量大小(低于128M)决定可以本地执行。

LLVM Query Engine

一代引擎把sql翻译为Sawzall code

二代引擎是使用Dremel的sql表达式分析引擎

三代引擎尝试使用LLVM based row和vector based column

指出了一些优缺点,相信native codegeneration引擎是未来方向。

全文完 :)

时间: 2024-12-28 20:14:16

论文摘抄 - Tenzing的相关文章

论文摘抄 - FlumeJava

本摘抄不保证论文完整性和理解准确性  原始的MapReduce,分Map,Shuffle,Reduce.Map里包括shards.Shuffle理解为groupByKey的事情.Reduce里包括Combiner,可以定义Sharder来控制key怎么和Reducer worker对应起来. 核心抽象和基本原语 PCollection<T>是一个不可变的bag,可以是有序的(Sequence),也可以是无序的(Collection).PCollection可以来自于内存里的Java PColl

论文摘抄 - Infobright

背景 论文 Brighthouse: AnAnalytic Data Warehouse for Ad-hoc Queries,VLDB 2008   brighthouse是一个面向列的数据仓库,在列存储和压缩数据方面,数据压缩比达到10:1.其核心Knowledge Grid(知识网格)层,即一个能自动调节.所存出具特别小的元数据层,替代了索引的功能,提供了数据过滤.统计信息表达.实际数据位置信息等内容,让brighthouse可以作为一个分析型的数据仓库,,达到ad-hoc查询的速度.Kn

Win7数学面板来帮忙理科论文

  又是一年毕业季,又有一批莘莘学子要离开大学一个象牙塔.我们别离昨天,拥抱明天,要说毕业之前最重要的莫过于毕业论文的书写了,不仅格式要求严格,字数众多,对于理科生来讲,论文中的公式书写可以说让大家大呼"伤不起".写起论文来说真是费时费力,为此同学们可谓八仙 --各显神通,可能很多朋友都没有想过其实win7中的自带软件也可以达到相同的效果,这就今天的主角数学输入面板. 首先我们需要一台预装有正版win7操作系统的电脑,单击"开始"按钮在开始菜单的搜索输入框中输入&q

opencv3. 1鱼眼镜头畸变模型依据的是哪篇论文? 想找到看看原型

问题描述 opencv3. 1鱼眼镜头畸变模型依据的是哪篇论文? 想找到看看原型 opencv3. 1鱼眼镜头畸变模型依据的是哪篇论文? 想找到看看原型

Web基础架构设计原则经典论文《架构风格与基于网络的软件架构设计》导读

1. 概述 Roy Fielding博士(见个人主页)是IETF发布的HTTP和URI协议的主要设计者.HTTP和URI是两个最为重要的Web基础技术架构协议,因此Fielding博士可谓是Web架构的奠基者之一. 除了学术上的卓越成就之外,Fielding博士还参与过很多开源软件的设计和开发工作.他是libwww-perl(世界上最早的HTTP开发库之一)的开发者,曾经负责Apache HTTP服务器中与HTTP.URI协议相关部分代码的开发.Fielding博士还指导过很多其他团队在HTTP

轻轻松松写论文 快快乐乐拿学位

现在正是大学毕业生完成毕业设计.撰写毕业论文的时候,大家往往要苦熬一个多月才能完成自己的 毕业论文.现在大家主要都是用Microsoft Word来编辑论文(不论各位用哪个版本,基本功能都是一致 的,以下简称Word).如果不能充分Word的一些强大功能,大家在撰写和编辑较长篇幅的科技论文的时 候,可能经常要为不断地调整格式而烦恼.在这里我把自己以前使用Word的经验和教训总结一下,以求 抛砖引玉. 一篇论文应该包括两个层次的含义:内容与表现,内容是指文章作者用来表达自己思想的 文字.图片.表格

WPS论文如何设置论文页眉

  WPS论文如何设置论文页眉 操作步骤 1.在章节选项卡下,点击页眉和页脚调出选项卡.再点击页眉页脚选项,在版式下选择奇偶页不同. 2.在各个章节的末尾处插入下一页分节符.在章节选项卡下,点击拆分章节,选择下一页分节符. 3.若论文要求在奇数页眉插入对应的章节标题,可以点击页眉和页脚选项卡的域,选择标题1为页眉. 4.要为每节设置不同格式的页眉,需要取消同前节设置.定位页脚调出页眉和页脚选项卡,点击同前节,再重复第3步操作. 5.一些论文会要求在页眉添加粗细不同的双击线.只要把光标定位在页眉,

WPS论文如何插入题注

  WPS论文如何插入题注 1.由于图片.表格的题注都要根据所在章节而定,所以要先为论文章节题目设好标题样式,在选择图片,点击引用选项卡下的题注. 2.题注对话框可以设置题注的标签及所包含的章节标题.新建标签中输入图片,在编号中选择标题2. 3.插入题注后的图片和表格效果.

WPS论文如何设置参考文献

  操作步骤 1.光标定位引用段落末尾,在引用选项卡下,点击插入脚注/尾注.脚注位置为当前页面底端,尾注为文档结尾或节的末尾. 2.插入尾注后,文章中会出现尾注引用符号,文章末尾出现尾注文本,在尾注文本处输入参考文献.双击尾注符号或尾注文本,光标自动定位到对应引用处. 3.若论文不同段落都引用了同一参考文献,可在引用文献第二次出现的段落插入交叉引用. 4.尾注引用符号的字体样式为尾注引用,可以选中任意一个尾注符号,在开始选项卡,样式组中选择尾注引用统一修改. 5.末尾的尾注文字的字体样式为尾注文