mdrill - 在线分析查询系统


Apache
跨平台
Java

软件简介

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

据越来越多,传统的关系型数据库支撑不了,分布式数据仓库又非常贵。几十亿、几百亿、甚至几千亿的数据量,如何才能高效的分析?
mdrill是由阿里妈妈开源的一套数据的软件,针对TB级数据量,能够仅用10台机器,达到秒级响应,数据能实时导入,可以对任意的维度进行组合与过滤。
mdrill作为数据在线分析处理软件,可以在几秒到几十秒的时间,分析百亿级别的任意组合维度的数据。
在阿里10台机器完成每日30亿的数据存储,其中10亿为实时的数据导入,20亿为离线导入。目前集群的总存储1000多亿80~400维度的数据。

特性如下:

1.满足大数据查询需求:
adhoc每天的数据量为30亿条,随着日积月累,数据会越来越大,mdrill采用列存储,索引,分布式技术,适当的分区等满足用户对数据的实时在线分析的需求。
2.支持增量更新: 离线形式的mdrill数据支持按照分区方式的增量更新。
3.支持实时数据导入: 在仅有10台机器的情况下,支持每天10亿级别(高峰每小时2亿)的实时导入。
4.响应时间快:
列存储、倒排索引、高效的数据压缩、内存计算,各种缓存、分区、分布式处理等等这些技术,使得mdrill可以仅在几秒到几十秒的时间分析百亿级别的数据。
5.低成本: 目前在阿里adhoc仅仅使用10台48G内存的PC机,但确存储了超过千亿规模的数据。
6.全文检索模式: 强大的条件设置,任意组合,无论难易秒级预览,每天160亿的数据随意筛选。

mdrill 数据量增长:

时间点 数据量 事件
12年12月 小于2亿 adhoc首次上线
13年1月 20~30亿 由2台机器扩容到了10台
13年5月2日 100亿 首次过百亿
13年7月24日 400亿 首次开源
13年11月 1000亿 全文检索模式ods_allpv_ad_d上线
13年12月 1500亿 实时数据以及无线数据的接入
14年2月 3200亿 11台机器,硬盘使用率30%
14年3月28日 4900亿 11台机器,硬盘使用率60%

发行日志:

2013.07.24 version 0.18-beta 初始化版本
2013.08.07 version 0.18.1-beta bug fix see
detail

2013.08.17 version 0.18.2-beta speed up see
detail

(下载)
2013.09.01 version 0.19-alpha HA by replication see
detail
(此版本需要一定时间的测试与调整,慎用)
2013.09.26 version 0.19.1-beta Bug Fix see
detail

(下载)
2013.09.29 version 0.19.2-beta Bug Fix (下载)
2013.10.09 version 0.19.3-beta speed up
(此版本有严重BUG,请勿使用,下载)
2013.10.13 version 0.19.4-beta mergerServer优化&&bugfix
(推荐版本,下载,依赖的zeromq从这里下载)
2013.11.19 version 0.20.1-alpha 使用hdfs进行检索&&实时append see
detail
(alpha版本,慎用。
源码下载)
2013.12.03 version 0.20.2-alpha 全文检索模式优化 see
detail
(alpha版本,慎用。
源码下载)
2013.12.05 version 0.20.3-alpha bugfix (alpha版本,慎用。
源码下载)
2014.01.02 version 0.20.4-alpha 通过editlog来保证实时数据的可靠性 see
detail
(alpha版本,慎用。
源码下载)
2014.01.14 version 0.20.5-alpha bug fix (下载)
2014.01.26 version 0.20.6-alpha bug fix
(下载)
2014.02.08 version 0.20.7-alpha cache改进 see
detail

(点击这里下载 。)
2014.02.18 version 0.20.8.3-alpha bugfix&&重写调度&&优化 see
detail

(点击这里下载)
2014.03.05 version 0.20.9-beta bugfix see
detail
( 推荐版本
点击这里下载
。依赖的zeromq从这里下载)
2014.03.28 version 0.21.1-alpha update模式的开发
(开发中的版本,请不要使用。点击这里获取源码 )