Mdrill:来自阿里的多维快速查询工具

标签: 技术 hadoop lucene | 发表时间:2015-02-22 10:31 | 作者:标点符
出处:http://www.biaodianfu.com

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

mdrill针对TB级数据量,能够仅用10台机器,达到秒级响应,数据能实时导入,可以对任意的维度进行组合与过滤。mdrill作为数据在线分析处理软件,可以在几秒到几十秒的时间,分析百亿级别的任意组合维度的数据。在阿里10台机器完成每日30亿的数据存储,其中10亿为实时的数据导入,20亿为离线导入。目前集群的总存储1000多亿80~400维度的数据。目前有阿里、腾讯、京东、联想、一号店、美团、大街网、亚信、恒隆兴等多家公司在使用。

mdrill的背景

数据越来越多,几十亿、几百亿、甚至几千亿的数据量,如何才能高效的分析? 越来越多的数据提取需求压给了数据部门,但很多都是一些重复性的劳动,数据部门疲惫不堪,提需求的数据的数据分析师也在苦苦的等待数据部门的排期,也许需要1个小时,也许需要1天,效率低下,需要一个快速的提取数据的平台,提高大家的工作效率。

mdrill 的定位

  • 大数据:要数据量大,几十亿上百亿,还要省钱,普通PC就能搞定。
  • 多维分析:要任意维度组合与过滤,还要对任意指标进行统计和排序
  • 即席查询:要查询快,秒级响应,还要数据快,数据分钟级延迟。
  • 自助提取:要随时能进行数据的查询与提取。 还要能上传自己的数据进行关联与过滤。

mdrill 的特性

  • 满足大数据查询需求:adhoc每天的数据量为30亿条,随着日积月累,数据会越来越大,mdrill采用列存储,索引,分布式技术,适当的分区等满足用户对数据的实时在线分析的需求。
  • 支持增量更新:离线形式的mdrill数据支持按照分区方式的增量更新。
  • 支持实时数据导入:在仅有10台机器的情况下,支持每天10亿级别(高峰每小时2亿)的实时导入。
  • 响应时间快:列存储、倒排索引、高效的数据压缩、内存计算,各种缓存、分区、分布式处理等等这些技术,使得mdrill可以仅在几秒到几十秒的时间分析百亿级别的数据。
  • 低成本:目前在阿里adhoc仅仅使用10台48G内存的PC机,但确存储了超过千亿规模的数据。
  • 全文检索模式:在mdrill的全文检索模式数据可以直接存储在hdfs中,并且以每天160亿*70维度的数据增量提供全文检索服务(注:该模式下不能进行统计,只能进行关键词匹配查询数据明细)

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,等于,不等于,大于等于,小于等于等过滤方式

备注:由于mdrill的相关开发人员已经从阿里转战到腾讯,关于此项目的后续发展请关注 腾讯Hermes(暂未开源)

参考链接:

  • https://github.com/alibaba/mdrill
  • http://blog.sina.com.cn/mynyannian
  • http://wenku.baidu.com/view/136ff1ba856a561252d36f9e.html?re=view

相关 [mdrill 阿里 多维] 推荐:

Mdrill:来自阿里的多维快速查询工具

- - 标点符
mdrill是阿里妈妈-adhoc-海量数据多维自助即席查询平台下的一个子项目. 旨在帮助用户在几秒到几十秒的时间内,分析百亿级别的任意维度组合的数据. mdrill是一个分布式的在线分析查询系统,基于hadoop,lucene,solr,jstorm等开源系统作为实现,基于SQL的查询语法. mdrill是一个能够对大量数据进行分布式处理的软件框架.

基于mdrill的大数据分析

- - CSDN博客云计算推荐文章
     数据越来越多,传统的关系型数据库支撑不了,分布式数据仓库又非常贵. 几十亿、几百亿、甚至几千亿的数据量,如何才能高效的分析. mdrill是由阿里妈妈开源的一套数据的软件,针对TB级数据量,能够仅用10台机器,达到秒级响应,数据能实时导入,可以对任意的维度进行组合与过滤.     mdrill作为数据在线分析处理软件,可以在几秒到几十秒的时间,分析百亿级别的任意组合维度的数据.

传言:阿里旺旺 Linux 版本?

- Tony - LinuxTOY
今日鸟嘀咕上流行了一张截图,据传是阿里旺旺 Linux 内部测试版本. 图片来源(可以从中看出估计是用 Qt4 开发的). 在下看到此图不禁回想起曾经高调一时,被称为"攻破朝内 Linux 桌面应用普及坚冰"的 QQ for Linux 发布. 现在阿里旺旺 Linux 面临和当年 QQ for Linux 一样同室操戈的问题.

用ControlJS优化阿里妈妈广告

- Cary - Taobao UED Team
长时间以来阿里妈妈的广告载入策略一直存在些问题,很多页面也因为阻塞式的广告载入而被拉低性能,影响用户体验. 毕竟阿里妈妈广告的渲染依赖于诸多嵌套的document.write. ControlJS的目标就是解决js的阻塞式渲染,因此灵玉急不可耐想与同仁们共同去揭秘ControlJS……. Steve Souders在2010年12月份发布了ControlJS项目,该项目是让开发者更好的去控制javascript文件的下载和执行,从而提高了页面脚本的加载速度.

阿里巴巴的零知识证明

- 见涛 - 科学松鼠会
战争中你被俘了,敌人拷问你情报. 你是这么想的:如果我把情报都告诉他们,他们就会认为我没有价值了,就会杀了我省粮食,但如果我死活不说,他们也会认为我没有价值而杀了我. 怎样才能做到既让他们确信我知道情报,但又一丁点情报也不泄露呢. 这的确是一个令人纠结的问题,但阿里巴巴想了一个好办法,当强盗向他拷问打开山洞石门的咒语时,他对强盗说:“你们离我一箭之地,用弓箭指着我,你们举起右手我就念咒语打开石门,举起左手我就念咒语关上石门,如果我做不到或逃跑,你们就用弓箭射死我.

阿里妈妈广告产品研究

- - 牛国柱
阿里近几年广告应收的增速非常迅速,在2012年,为站长和淘宝客带来的分成收入突破了30亿元,比2011年翻了一番( http://roll.sohu.com/20121224/n361391164.shtml),非常大的成就. 那么阿里是如何做到这一成就的呢. 阿里妈妈第一次出现是在2007年,定位是全网的广告交易平台,使命是“让天下没有难做的广告”,没错,和我们很耳熟的一句话——让天下没有难做的生意很像,是阿里战略在广告市场的延续.

阿里双十一数据库技术

- - Hello Database
真的很抱歉,我的博客已经很久没有更新了,因为花了太多的时间在微博和微信上,当然最主要的原因还是工作实在太忙了,仅剩的那点业余时间都用来陪娃了. 从2012年开始,工作重心转移到了淘宝和天猫,我的技术方向也发生了改变,2012年和2013年,经历了两次双十一,在这个过程中学到了很多东西. 尤其是2013年的双十一,系统准备的非常充分,技术上有很多创新,团队也得到了成长.

阿里产品经理在做什么?

- - 人人都是产品经理
这个周末又把大学时看得《人人都是产品经理》拿出来梳理,看看阿里的产品经理在头几年都做了些什么. 总的来说有三个方面,需求分析、项目管理以及战略思维. 需求分析一般作为产品经理的入门工作,包括用户研究、需求采集、需求分析、需求筛选以及最后的需求管理. 用户研究也就是说研究使用该产品的客户,理解客户是产品经理的基本素质之一,也就是我们所说的以用户为中心,但实际中也有不少项目是以老板为中心.

阿里的大数据之路

- - 钛媒体TMTpost—把脉科技资本论
作为一个拥有全世界最多互联网用户的国家,”大数据“成为国内各大互联网巨头不得不面对的问题. 阿里巴巴集团旗下的支付宝、淘宝及天猫商城作为国内第一大电商,所拥有的交易及信用数据,不仅仅具有量的优势,还具有极高的商业价值. 在大数据时代,阿里巴巴的战略布局是怎么样的. 《南方周末:阿里巴巴的大数据梦》对阿里巴巴的大数据战略进行了报道,钛媒体对其总结如下:.

使用阿里云ODPS之点滴

- - SQL - 编程语言 - ITeye博客
    趁着这次做网聚宝搜索服务化这个项目,体验了一下阿里云的重量级云产品ODPS,也就是传说中的云梯2. 项目几近结束,现在回过头来看当初选择使用OPDS的决定还是相当正确的,ODPS在网聚宝搜索上云这个项目中起到了非常至关重要的作用,一句话总结:ODPS是非常靠谱的. 从刚开始里了解ODPS开始,到引入项目中使用,进而通过优化加速在项目中使用得游刃有余,经历了一个过程,中间也走了不少弯路.