写点什么

PowerDrill,Google 又一个大数据分析大杀器

  • 2012-08-29
  • 本文字数:1365 字

    阅读完需:约 4 分钟

将近十年前,Google 放出的两篇论文催生了 Hadoop。最近,Google 又有两篇论文放出,描述了他们用来处理大数据的利器。其中一篇提到的是 Dremel 。前不久,他们在正在举行的 VLDB 2012 大会上发布了一篇论文《 Processing a Trillion Cells per Mouse Click 》,其中提到了 Google 内部使用的一个工具——PowerDrill,只需要点一次鼠标,PowerDrill 就可以处理上万亿条信息。论文中说:相比提供类似信息分析功能的传统数据库,该工具要快 10 倍到 100 倍。

Google 从 2008 年开始使用 PowerDrill,将其作为 Dremel 的变通方案。Google 数据中心的头头之一 Urs Hölzle 在《连线》杂志的一篇文章中说:Dremel 可以在3 秒钟内查询一个P 的数据。PowerDrill 虽不能处理这么多数据,可能应对的量也不小了,而且它的处理速度更快。论文中的数据指出:PowerDrill 可以在30 到40 秒内处理7820 亿个单元的数据。Google 说,这比Dremel 的方式“高好几个数量级”。

网易杭州研究院副总监汪源发布了一篇博客,对PowerDrill 和Dremel 作出了分析和对比。他首先指出二者的相似之处:

PowerDrill 与 Dremel 的类似之处在于都用了列存,都为 SQL 接口。

接下来,他分析了二者的不同:

  • 两者的设计目标不同,Dremel 设计用来管理非常大量的大数据集(指数据集的数量和每数据集的规模都大),而 PowerDrill 设计用来分析少量的大数据集(指数据集的规模大,但数据集的数量不多)时提供更强劲的分析性能。
  • 设计思路不同,包括:
    1. Dremel 数据存于外存;PowerDrill 数据存于内存。
    2. Dremel 没做数据分区,分析时要扫瞄所有需要的列;PowerDrill 做了组合范围分区,分析时可以跳过很多不需要的分区(真实应用统计可以跳过 92.41% 的分区)。
    3. Dremel 用层次数据模型;PowerDrill 用普通关系模型。
    4. Dremel 数据通常不需要 load,增加数据很方便;PowerDrill 数据要 load,增加数据(估计)不太方便。

然后,他提到 PowerDrill 最鲜明的特点:

一个是已经提到的组合范围分区,另一个是空间效率非常高的内存数据结构。

首先,各列的数据使用基于字典的压缩技术,并且是双层字典。全局字典编码列中所有不同值,每个分区还有个小字典,映射分区内不同值的编码到全局编码,这样各分区内的值的编码取值范围比较小,从而可以用较少的比特来编码一个值。

在这个基本方法之上,还通过一下方式进一步优化空间效率:全局字典用 trie 结构;属性值 Zippy 压缩(热点数据不压缩,LRU 替换);reorder 纪录。这些优化通常能带来 2-10+ 倍的空间效率提升。

对于使用内存做分析的做法,汪源认为:

PowerDrill 设计用来分析少量的核心数据集,一般应用场景下数据量并不大,因此通过内存架构来提高分析效率我觉得是个相当合理的选择。

不过他对其组合范围分区的方式有自己的看法:

虽然论文中说领域专家通常很容易确定分区属性,但这个方式总是不通用,并且会导致 load 之后 append 数据不方便。如果用类似于 InfoBright 的 Knowledge Grid 的方式,可能分区过滤的效果会差一些,但可以规避上述两个问题。

Mike Olson 是 Cloudera 的 CEO,他曾说:“如果你想知道未来的大规模、高性能数据处理基础设施是什么样子,我的建议是去阅读 Google 目前刚刚放出的研究论文。”

MapReduce 和 BigTable 的论文催生了大数据处理的事实标准 Hadoop,这让我们不禁好奇:Dremel 和 PowerDrill 又会催生什么项目呢?

2012-08-29 20:0619253
用户头像

发布了 479 篇内容, 共 168.7 次阅读, 收获喜欢 52 次。

关注

评论

发布
暂无评论
发现更多内容

SRT协议初识

Changing Lin

2月春节不断更

填补国内空白!建信金科携手本源量子发布国内首批量子金融算法

金科优源汇

技术干货 | 基于Doris构建的小程序私域流量增长

百度开发者中心

百度智能小程序 百度 Doris

某挂号平台在线挂号用例

Geek_lot02c

产品经理训练营

「年」InfoQ 编程语言2月排行榜

InfoQ写作社区官方

InfoQ 牛年特别策划

「快」2月春节不断更

InfoQ写作社区官方

InfoQ 牛年特别策划

话题讨论 | 程序员表白,不光需要“技术”,更需要勇气!

孙叫兽

程序员 话题讨论 情人节 表白

「产品经理训练营」第四章作业

Sòrγy_じò ぴé

产品经理训练营 极客大学产品经理训练营 产品训练营

「吉」移动APP, InfoQ 春节不打烊

InfoQ写作社区官方

InfoQ 牛年特别策划

这个技术把时间切开,让生命愈合

脑极体

Linux Lab 进阶: 自动化测试

贾献华

Linux 测试 Linux Kenel

【史上最全】Hadoop 核心 - HDFS 分布式文件系统详解(上万字建议收藏)

五分钟学大数据

大数据 hadoop 2月春节不断更

「春」写作平台春节精选话题

InfoQ写作社区官方

InfoQ 牛年特别策划

如何防止手机被盗刷

石云升

2月春节不断更 手机盗刷

产品经理训练营 -- 第四周作业

Denny-xi

产品经理 产品经理训练营

第四次作业&第五次作业

yoki

Kafka设计实现与最佳实践之客户端篇

梦朝思夕

kafka 客户端

Go 1.16新特性embed打包静态资源文件

八两

embed Go 语言

XSKY助力湖南省交通规划勘察设计院有限公司IT架构转型

XSKY星辰天合

「新」春节新用户注册福利

InfoQ写作社区官方

InfoQ 牛年特别策划

Elastic query string search

escray

Lucene Elastic Search 七日更 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

阿里云第七代ECS云服务器: 整体算力提升40%

赵钰莹

解决Homebrew下载更新速度慢问题

现实中游走

homebrew

工具介绍 | 百度分布式配置中心BRCC正式开源

百度开发者中心

百度 开源

「牛」鲲鹏会海报拜年,福利大放送

InfoQ写作社区官方

InfoQ 牛年特别策划

「乐」话题王者第二季,欢乐开赛

InfoQ写作社区官方

InfoQ 牛年特别策划

作业4

瑾瑾呀

【STM32】点亮LED

AXYZdong

硬件 stm32 2月春节不断更

「大」极客时间新春充值福利活动

InfoQ写作社区官方

InfoQ 牛年特别策划

架构师训练营 2 期 大作业一

架构师 架构师训练营第2期

LeetCode题解:74. 搜索二维矩阵,二分查找,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

PowerDrill,Google又一个大数据分析大杀器_Google_郑柯_InfoQ精选文章