mdrill在線分析查詢系統(tǒng)
1:mdrill是阿里媽媽-adhoc-海量數(shù)據(jù)多維自助即席查詢平臺(tái)下的一個(gè)子項(xiàng)目。
2:mdrill旨在幫助用戶在幾秒到幾十秒的時(shí)間內(nèi),分析百億級(jí)別的任意維度組合的數(shù)據(jù)。
3:mdrill是一個(gè)分布式的在線分析查詢系統(tǒng),基于hadoop,lucene,solr,jstorm等開(kāi)源系統(tǒng)作為實(shí)現(xiàn),基于SQL的查詢語(yǔ)法。 mdrill是一個(gè)能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的軟件框架。mdrill是快速的高性能的,他的底層因使用了索引、列式存儲(chǔ)、以及內(nèi)存cache等技 術(shù),使得數(shù)據(jù)掃描的速度大為增加。mdrill是分布式的,它以并行的方式工作,通過(guò)并行處理加快處理速度。
4:mdrill在adhoc項(xiàng)目中,mdrill使用了10臺(tái)機(jī)器,存儲(chǔ)了400億的數(shù)據(jù),每次掃描30億的行數(shù),響應(yīng)時(shí)間在20秒~120秒左右(取決不同的查詢條件)。
據(jù)越來(lái)越多,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)支撐不了,分布式數(shù)據(jù)倉(cāng)庫(kù)又非常貴。幾十億、幾百億、甚至幾千億的數(shù)據(jù)量,如何才能高效的分析?
mdrill是由阿里媽媽開(kāi)源的一套數(shù)據(jù)的軟件,針對(duì)TB級(jí)數(shù)據(jù)量,能夠僅用10臺(tái)機(jī)器,達(dá)到秒級(jí)響應(yīng),數(shù)據(jù)能實(shí)時(shí)導(dǎo)入,可以對(duì)任意的維度進(jìn)行組合與過(guò)濾。
mdrill作為數(shù)據(jù)在線分析處理軟件,可以在幾秒到幾十秒的時(shí)間,分析百億級(jí)別的任意組合維度的數(shù)據(jù)。
在阿里10臺(tái)機(jī)器完成每日30億的數(shù)據(jù)存儲(chǔ),其中10億為實(shí)時(shí)的數(shù)據(jù)導(dǎo)入,20億為離線導(dǎo)入。目前集群的總存儲(chǔ)1000多億80~400維度的數(shù)據(jù)。
特性如下:
1.滿足大數(shù)據(jù)查詢需求:adhoc每天的數(shù)據(jù)量為30億條,隨著日積月累,數(shù)據(jù)會(huì)越來(lái)越大,mdrill采用列存儲(chǔ),索引,分布式技術(shù),適當(dāng)?shù)姆謪^(qū)等滿足用戶對(duì)數(shù)據(jù)的實(shí)時(shí)在線分析的需求。
2.支持增量更新:離線形式的mdrill數(shù)據(jù)支持按照分區(qū)方式的增量更新。
3.支持實(shí)時(shí)數(shù)據(jù)導(dǎo)入:在僅有10臺(tái)機(jī)器的情況下,支持每天10億級(jí)別(高峰每小時(shí)2億)的實(shí)時(shí)導(dǎo)入。
4.響應(yīng)時(shí)間快:列存儲(chǔ)、倒排索引、高效的數(shù)據(jù)壓縮、內(nèi)存計(jì)算,各種緩存、分區(qū)、分布式處理等等這些技術(shù),使得mdrill可以僅在幾秒到幾十秒的時(shí)間分析百億級(jí)別的數(shù)據(jù)。
5.低成本:目前在阿里adhoc僅僅使用10臺(tái)48G內(nèi)存的PC機(jī),但確存儲(chǔ)了超過(guò)千億規(guī)模的數(shù)據(jù)。
6.全文檢索模式:強(qiáng)大的條件設(shè)置,任意組合,無(wú)論難易秒級(jí)預(yù)覽,每天160億的數(shù)據(jù)隨意篩選。
mdrill 數(shù)據(jù)量增長(zhǎng):
| 時(shí)間點(diǎn) |
數(shù)據(jù)量 |
事件 |
| 12年12月 |
小于2億 |
adhoc首次上線 |
| 13年1月 |
20~30億 |
由2臺(tái)機(jī)器擴(kuò)容到了10臺(tái) |
| 13年5月2日 |
100億 |
首次過(guò)百億 |
| 13年7月24日 |
400億 |
首次開(kāi)源 |
| 13年11月 |
1000億 |
全文檢索模式ods_allpv_ad_d上線 |
| 13年12月 |
1500億 |
實(shí)時(shí)數(shù)據(jù)以及無(wú)線數(shù)據(jù)的接入 |
| 14年2月 |
3200億 |
11臺(tái)機(jī)器,硬盤使用率30% |
| 14年3月28日 |
4900億 |
11臺(tái)機(jī)器,硬盤使用率60% |
發(fā)行日志:
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 (此版本需要一定時(shí)間的測(cè)試與調(diào)整,慎用)
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 (此版本有嚴(yán)重BUG,請(qǐng)勿使用,下載)
2013.10.13 version 0.19.4-beta mergerServer優(yōu)化&&bugfix (推薦版本,下載,依賴的zeromq從這里下載)
2013.11.19 version 0.20.1-alpha 使用hdfs進(jìn)行檢索&&實(shí)時(shí)append see detail(alpha版本,慎用。 源碼下載)
2013.12.03 version 0.20.2-alpha 全文檢索模式優(yōu)化 see detail(alpha版本,慎用。 源碼下載)
2013.12.05 version 0.20.3-alpha bugfix (alpha版本,慎用。 源碼下載)
2014.01.02 version 0.20.4-alpha 通過(guò)editlog來(lái)保證實(shí)時(shí)數(shù)據(jù)的可靠性 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改進(jìn) see detail (點(diǎn)擊這里下載 。)
2014.02.18 version 0.20.8.3-alpha bugfix&&重寫調(diào)度&&優(yōu)化 see detail (點(diǎn)擊這里下載)
2014.03.05 version 0.20.9-beta bugfix see detail (推薦版本。 點(diǎn)擊這里下載 。依賴的zeromq從這里下載)
2014.03.28 version 0.21.1-alpha update模式的開(kāi)發(fā) (開(kāi)發(fā)中的版本,請(qǐng)不要使用。點(diǎn)擊這里獲取源碼 )
