Google的Dremel是described here。 Dremel和Mapreduce有什么区别?
答案 0 :(得分:39)
Dremel和MapReduce无法直接比较,但它们是互补技术。
MapReduce并非专为分析数据而设计 - 而是一个软件框架,允许一组节点解决大型数据集的分布式计算问题。
Dremel是一种数据分析工具,旨在快速运行对大量结构化数据集(如日志或事件文件)的查询。它支持类似SQL的语法,但除了表追加之外,它是只读的。它不支持更新或创建函数,也不支持表索引。数据以“柱状”格式组织,这有助于提高查询速度。 Google的BigQuery产品是可通过RESTful API访问的Dremel实现。
Hadoop(MapReduce的开源实现)与“Hive”数据仓库软件相结合,还允许使用SQL样式语法对海量数据集进行数据分析。 Hive实质上将查询转换为MapReduce函数。与使用ColumIO格式相比,Hive尝试使用表索引等技术快速进行查询。
答案 1 :(得分:22)
检查此article。 Dremel是蜂巢的未来应该(也将是)。
MapReduce和解决方案的主要问题,如Pig,Hive等,它们在运行作业和获得答案之间存在固有的延迟。 Dremel采用了一种全新的方法(由谷歌在2010年出版),其中......
...使用基于聚合树的新颖查询执行引擎...
...运行几乎实时,交互式和 adhoc 查询MapReduce都无法查询。猪和蜂巢不是实时
你应该留意projects。这对我来说也是新的......所以欢迎任何其他专家评论!
编辑: Dremel是 HIVE 的未来(而不是我之前提到的MapReduce)应该如此。 Hive现在提供了一个类似SQL的界面来运行MapReduce作业。 Hive具有非常高的延迟,因此在ad-hoc数据分析中不实用。 Dremel使用与MapReduce不同的技术为数据提供了非常快速的SQL类接口。
答案 2 :(得分:4)
MapReduce是一种抽象算法,用于分解问题,分发问题并组合结果。 Dremel似乎是查询和分析数据集的特定工具。