acm-header
登录

ACM通信

研究突出了

技术视角:惊人速度的数据分析


数据分析的重要性从未如此明显。网络上的公司通过不断增加的对用户在线行为的分析,以直觉判断用户的需求、需求和目标的能力展开竞争。跨越全球的科学合作正在探索数据密集型的问题,其规模仅受限于它们所能利用的计算资源的能力。大众媒体经常报道分析驱动的应用程序的故事,从预订机票的时间,建立一个经济高效的大联盟棒球队,到理解社会现象,不一而足。

虽然数据分析和商业智能长期以来一直是活跃的研发领域,但在过去10年里,所解决问题的规模和复杂性急剧增加。自成立以来,谷歌一直在积极地推动数据管理技术的发展。多年来,他们发表了一系列极具影响力的论文,描述了其内部体系的关键方面。

这个系列的最新补充是下面关于德梅尔系统的论文。Dremel是一种交互式数据分析工具,能够利用数千台机器处理数据,其规模之大在该领域的当前技术水平下简直令人瞠目结舌。该系统使谷歌的工程师能够交互式地分析10亿记录的数据集和万亿记录的数据集记录,同时他们在附近的咖啡机做玛奇托。

大型Web属性每天跟踪数十亿个事件,代表了数十tb的数据。存储这样的数据是昂贵的,但可行;然而,提供对这些数据的有意义的访问是另一回事。当今大多数组织的实际情况是分析周转时间以小时甚至天为单位衡量。对于过去更悠闲的决策周期,这种面向批处理的延迟可能是可以容忍的,但对于今天快速的业务和数据获取速度来说,这是严重的限制。此外,这不仅仅是延迟的问题。从小时转移到秒,支持新的数据探索模式,提供了从复杂数据集中提取值的质变。

毫不奇怪,Dremel的性能依赖于大量的并行性。作者指出,每秒扫描1TB的数据需要1万个普通磁盘驱动器。但本文的主要结论是,仅仅用硬件解决问题是不够的。相反,深入理解要存储的数据的结构以及如何使用这些数据是至关重要的。

数据库系统的最新进展利用了按列垂直组织数据,而不是按行水平组织数据,通过压缩和选择性检索来减少磁盘访问。Dremel遵循类似的原理,但它的任务很复杂,因为需要存储不规则的嵌套数据,包括重复字段、可选和可变字段以及结构化子对象——所有这些构造都违反了基本的关系数据库原则。


Dremel是一个交互式数据分析工具,能够利用数千台机器以令人瞠目结舌的规模处理数据。


Dremel描述了一种高效的、面向列的结构,用于存储和分片(即分区)此类数据,以及一种高性能机制,用于重构以这种方式存储的数据记录。还讨论了许多其他重要的技术,包括基于服务树的执行模型、查询结果缓存、复制,以及愿意返回部分答案以避免等待大规模并行系统中不可避免出现的“掉队者”(慢任务)。

然而,真正让人大开眼界的是实验部分。在阅读本文之前,我认为不可能在这里演示的大量数据集上获得低延迟,处理吞吐量在每秒1000亿条记录的范围内。事实上,谷歌人已经使用这项技术五年了,这是一个启示。

在这方面,本文为计算系统研究人员提出了一些严肃的问题。人们可能会合理地问,这种技术是否只与目前拥有如此大规模数据的极少数组织相关。同样,一些人提出了这样一个问题:这些组织之外的人,如果无法轻易获得大量的计算资源,是否甚至可以尝试参与这样的研究。

第一个问题的答案是显而易见的。你只需要浏览一下本杂志和其他出版物的过去几期,就会发现“前沿前沿”在我们的领域是多么迅速地变得司空见惯。随着时间的推移,本文中描述的数据量显然将与更多的组织相关。第二个问题比较难。客观地看这篇论文,我看到了许多优化和改进的机会,比如面向流的处理和更积极的采样。可以说,那些不容易接触到数千台机器的人应该特别有动力去探索这种创新技术。

总之,Dremel是一个非常令人印象深刻的系统,它扩展了我们的想法,什么是今天可能的,什么是未来需要的。因此,对于任何对数据管理的未来感兴趣的人来说,本文都是令人信服的读物。

回到顶部

作者

迈克尔·j·富兰克林franklin@cs.berkeley.edu他是加州大学伯克利分校的计算机科学教授,也是Truviso, Inc.的创始人和CTO。

回到顶部

脚注

DOI:http://doi.acm.org/10.1145/1953122.1953147


©2011 acm 0001-0782/11/0600 $10.00

允许为个人或课堂使用部分或全部作品制作数字或硬拷贝,但不得为盈利或商业利益而复制或分发,且副本在首页上附有本通知和完整的引用。除ACM外,本作品的其他组件的版权必须受到尊重。允许有信用的文摘。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,都需要事先获得特定的许可和/或费用。请求发布的权限permissions@acm.org传真(212)869-0481。

数字图书馆是由计算机协会出版的。版权所有©2011 ACM, Inc.

Baidu
map