找回密码
 立即注册
查看: 32|回复: 0

数据词典:Dremel

[复制链接]

656

主题

70

回帖

2291

积分

管理员

积分
2291
发表于 2025-11-7 13:37:50 | 显示全部楼层 |阅读模式
随着Hadoop的流行,大规模的数据分析系统已经越来越普及。但是,Hadoop比较适合用于大规模数据的批量处理,而对于实时的交互式处理就有点显得力不从心,比如,Hadoop通常无法做到让用户在2到3秒内迅速完成PB级别数据的查询。因此,数据分析师需要一个能够快速分析数据的交互式系统,这样就可以非常方便快捷地浏览数据以及建立分析模型。谷歌公司设计的Dremel就是一个能够满足这种实时交互式处理的系统。Dremel是一种可扩展的、交互式的实时查询系统,用于只读嵌套数据的分析。通过结合多级树状执行过程和列式数据结构,它能做到几秒内完成对万亿张表的聚合查询。系统可以扩展到成千上万的CPU上,满足谷歌公司上万用户操作PB级的数据,可以在2到3秒内完成PB级别数据的查询。
Dremel具有以下几个主要的特点:
1.Dremel是一个大规模、稳定的系统。在一个PB级别的数据集上面,将任务缩短到秒级,无疑需要大量的并发。谷歌公司一向是用廉价机器办大事的好手,但是,机器越多,出问题概率越大。如此大的集群规模,需要有足够的容错考虑,保证整个分析的速度不被集群中的个别慢(坏)节点所影响。
2.Dremel是MapReduce交互式查询能力不足的补充。和MapReduce一样,Dremel也需要和数据运行在一起,将计算移动到数据上面,所以,它需要GFS这样的文件系统作为存储层。在设计之初,Dremel并非是MapReduce的替代品,它只是可以执行非常快的分析,在使用的时候,常常用它来处理MapReduce的结果集或者用来建立分析原型。
3.Dremel的数据模型是嵌套的。互联网数据常常是非关系型的,这就要求Dremel必须有一个灵活的数据模型,这个数据模型对于获得高性能的交互式查询而言至关重要。因此,Dremel采用了嵌套数据模型,有点类似于JSON。嵌套数据模型相对于关系模型而言具有明显的优势。对于传统的关系模型而言,不可避免地存在大量连接操作,因此,在处理如此大规模的数据的时候,往往是有心无力的。而嵌套数据模型却可以在PB级别数据上一展身手。
4.Dremel中的数据是用列式存储的。当采用列式存储时,在分析的时候就可以只扫描需要的那部分数据,从而大大减少CPU和磁盘的访问量。同时,列式存储是压缩友好的,可以实现更高的压缩率,使得CPU和磁盘发挥最大的效能。
5.Dremel结合了Web搜索和并行DBMS(Database Management System)的技术。首先,它借鉴了Web搜索中的“查询树”的概念,将一个相对巨大复杂的查询分割成较小、较简单的查询。大事化小,小事化了,能并发地在大量节点上跑。其次,和并行DBMS类似,Dremel可以提供了一个类似SQL的接口,就像Hive和Pig那样。
Dremel自从2006年开始就已经投入开发了,并且在谷歌公司已经有了几千用户。多种多样的Dremel实例被部署在谷歌公司里,每个实例拥有着数十至数千个节点。使用Dremel系统的例子包括:
分析网络文档;
1.追踪Android市场应用程序的安装数据;
2.谷歌产品的崩溃报告分析;
3.Google Books的OCR结果 ;
4.垃圾邮件分析;
5.Google Maps里地图部件调试;
6.管理中的Bigtable实例的Tablet迁移;
7.谷歌分布式构建系统中的测试结果分析;
8.数万个硬盘的磁盘IO统计信息;
9.谷歌数据中心上运行的任务的资源监控;
10.谷歌代码库的符号和依赖关系分析。
【出处】林子雨.大数据导论.人民邮电出版社,2020年9月第1版.

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|全数联人才测评中心 ( 京ICP备2024094898号 )

GMT+8, 2025-11-18 04:34 , Processed in 0.174674 second(s), 20 queries .

版权所有: 全数联人才测评(北京)中心

友情链接: 中华全国数字人才培育联盟 全数联人才测评中心学习平台 全数联人才测评中心存证平台 全数联人工智能专员认证中心

快速回复 返回顶部 返回列表