Skip to content
muyannian edited this page Jan 2, 2014 · 6 revisions

mdrill介绍:

mdrill是阿里妈妈-adhoc-海量数据多维自助即席查询平台下的一个子项目。
旨在帮助用户在几秒到几十秒的时间内,分析百亿级别的任意维度组合的数据。
mdrill是一个分布式的在线分析查询系统,基于hadoop,lucene,solr,jstorm等开源系统作为实现,基于SQL的查询语法。 mdrill是一个能够对大量数据进行分布式处理的软件框架。mdrill是快速的高性能的,他的底层因使用了索引、列式存储、以及内存cache等技术,使得数据扫描的速度大为增加。mdrill是分布式的,它以并行的方式工作,通过并行处理加快处理速度。

mdrill适合的应用(统计分析模式):

  • 总数据规模在十亿到百亿,上百个维度
  • 每次查询扫描的总数据量超过亿
  • 想要快速的(几秒)得到统计结果
  • 数据按天分布,每天单表的数据增量小于十亿(10台48G内存的机器来算)

mdrill适合的应用(全文检索模式):

  • 每天百亿的增量,上百个维度
  • 只进行全文检索,无统计,无排序
  • 使用云梯hdfs存储和检索
  • 响应时间3~10秒

生产环境中的mdrill:

  • 总数据量400亿+
  • 单次扫描1个月30亿的记录,扫描的列数为1~12列
  • 机器配置为10台48G内存,2T*10的硬盘的机器
  • 根据查询条件的不同,单次查询时间在5秒~60秒之间

mdrill常见的统计功能

  • 查询明细以及对明细TopN排序
  • 对数据进行sum,max,min,count,avg,dist等统计
  • 多列group by求sum,max,min,count以及topN排序
  • 支持like,in,not in,等于,不等于,大于等于,小于等于等过滤方式
Clone this wiki locally