数据越来越多,传统的关系型数据库支撑不了,分布式数据仓库又非常贵。几十亿、几百亿、甚至几千亿的数据量,如何才能高效的分析?
mdrill是由阿里妈妈开源的一套数据的软件,针对TB级数据量,能够仅用10台机器,达到秒级响应,数据能实时导入,可以对任意的维度进行组合与过滤。
mdrill作为数据在线分析处理软件,可以在几秒到几十秒的时间,分析百亿级别的任意组合维度的数据。
在阿里10台机器完成每日30亿的数据存储,其中10亿为实时的数据导入,20亿为离线导入。目前集群的总存储3200多亿80~400维度的数据。
mdrill的特性
1.满足大数据查询需求:adhoc每天的数据量为30亿条,随着日积月累,数据会越来越大,mdrill采用列存储,索引,分布式技术,适当的分区等满足用户对数据的实时在线分析的需求。
2.支持增量更新:离线形式的mdrill数据支持按照分区方式的增量更新。
3.支持实时数据导入:在仅有10台机器的情况下,支持每天10亿级别(高峰每小时2亿)的实时导入。
4.响应时间快:列存储、倒排索引、高效的数据压缩、内存计算,各种缓存、分区、分布式处理等等这些技术,使得mdrill可以仅在几秒到几十秒的时间分析百亿级别的数据。
5.低成本:目前在阿里adhoc仅仅使用10台48G内存的PC机,但确存储了超过千亿规模的数据。
6.全文检索模式:在mdrill的全文检索模式数据可以直接存储在hdfs中,并且以每天160亿*70维度的数据增量提供全文检索服务(注:该模式下不能进行统计,只能进行关键词匹配查询数据明细)
mdrill的定位
大数据
要数据量大,几十亿上百亿。
还要省钱,普通PC就能搞定。
多维分析
要任意维度组合与过滤
还要对任意指标进行统计和排序
即席查询
要查询快,秒级响应。
还要数据快,数据分钟级延迟。