druid.io 海量实时OLAP数据仓库 (翻译+总结) (1)
介紹
我是NDPmedia公司的大數(shù)據(jù)OLAP的資深高級(jí)工程師, 專注于OLAP領(lǐng)域, 現(xiàn)將一個(gè)成熟的可靠的高性能的海量實(shí)時(shí)OLAP數(shù)據(jù)倉(cāng)庫(kù)介紹給大家: druid.io
NDPmedia在2014年3月就開(kāi)始使用, 見(jiàn)鏈接: http://blog.csdn.net/chenyi8888/article/details/37594771
druid是個(gè)很新的平臺(tái), 2013年底才開(kāi)源出來(lái), 雖然出現(xiàn)的比較晚, 但druid發(fā)展很快, 中國(guó)有幾個(gè)公司開(kāi)始使用, 2015年druid將會(huì)是爆發(fā)的一年
最近druid 的華人作者Fangjin從Metamarkets離職, 專門從事druid研發(fā)和推廣.
?
以下翻譯自http://druid.io/docs/0.7.1.1/, 并添加了自己的注解
什么是Druid
Druid 是一個(gè)開(kāi)源的,能在海量時(shí)序數(shù)據(jù)上 (萬(wàn)億級(jí)別數(shù)據(jù)量, 1000 TB級(jí)別數(shù)據(jù))上面提供實(shí)時(shí)分析查詢的OLAP數(shù)據(jù)倉(cāng)庫(kù),Druid提供了廉價(jià)的實(shí)時(shí)數(shù)據(jù)插入和任意數(shù)據(jù)探索的能力。
Druid的主要功能
??? 為分析而生 - Druid是為了解決在OLAP工作流中進(jìn)行探索分析而生的. 它提供了大量的filters, aggregators和 query 類型,并且提供了一個(gè)用戶添加新功能的框架. 用戶可以利用Druid的集群實(shí)現(xiàn)例如topN和直方圖等功能。
?? ?? (注: 傳統(tǒng)數(shù)據(jù)庫(kù), 查詢幾千萬(wàn)的數(shù)據(jù), 就會(huì)出問(wèn)題, 查不出來(lái))
?? ?? (注: druid就是一個(gè)能力超強(qiáng)的數(shù)據(jù)庫(kù), 執(zhí)行例如SQL: select aColumn, bColumn sum(cColumn) from tableName where aColumn like 'xxx' and bColumn = 5 group by aColumn, bColumn having sum(cColumn) > 5 order by aColumn.)
?? ?? (注: druid對(duì)SQL支持有限,現(xiàn)在是實(shí)驗(yàn)版本。YeahMobi 重新開(kāi)發(fā)適配了SQL, 屏蔽了下層平臺(tái), SQL 語(yǔ)句可以路由到這三個(gè)平臺(tái) druid, impala, hive)
??? 高交互式 - Druid的低延時(shí)數(shù)據(jù)插入允許數(shù)據(jù)在生成之后的毫秒范圍之內(nèi)就可以被用戶查詢到。Druid通過(guò)讀取和掃描需要的數(shù)據(jù)來(lái)優(yōu)化查詢的延時(shí)。
??? 高可用性 - Druid可以被用來(lái)實(shí)現(xiàn)需要持續(xù)提供服務(wù)的SaaS應(yīng)用。即使是在系統(tǒng)升級(jí)的過(guò)程中,你的數(shù)據(jù)仍然可以被查詢。而且Druid 集群的擴(kuò)容或者縮減不會(huì)帶來(lái)數(shù)據(jù)的丟失。
?????? (注: 已經(jīng)在生產(chǎn)環(huán)境之中驗(yàn)證: 添加字段, 集群擴(kuò)容, 集群縮減)
??? 可擴(kuò)展性 - 現(xiàn)有的Druid系統(tǒng)可以很輕松的處理每天數(shù)十億條記錄和TB級(jí)別的數(shù)據(jù)。Druid本身是被設(shè)計(jì)來(lái)解決PB級(jí)別數(shù)據(jù)的。
為什么要用Druid?
Druid的初衷是為了解決在使用Hadoop進(jìn)行查詢時(shí)所遇見(jiàn)的高延時(shí)問(wèn)題來(lái)提高交互性查詢。尤其是當(dāng)你對(duì)數(shù)據(jù)進(jìn)行匯總之后并在你匯總之后的數(shù)據(jù)上面進(jìn)行查詢時(shí)效果更好。將你匯總之后的數(shù)據(jù)插入Druid,隨著你的數(shù)據(jù)量在不斷增長(zhǎng),你仍然可以對(duì)Druid的查詢能力非常有信心。當(dāng)前的Druid安裝實(shí)例已經(jīng)可以很好的處理以每小時(shí)數(shù)TB實(shí)時(shí)遞增的數(shù)據(jù)量。
(注: 在我們的實(shí)踐中 druid 查詢統(tǒng)計(jì)100億數(shù)據(jù), 在5秒內(nèi)響應(yīng)。 查詢1個(gè)月的數(shù)據(jù), 基本可以在毫秒內(nèi)完成。 比hadoop的常用的T+1 Map Reduce 高效多了.
你可以在擁有Hadoop的同時(shí)創(chuàng)建一個(gè)Druid系統(tǒng)。Druid提供了以一種互動(dòng)式切片、切塊方式來(lái)訪問(wèn)數(shù)據(jù)的能力,它在查詢的靈活性和存儲(chǔ)格式直接尋找平衡從而來(lái)提供更好的查詢速度。
如果想了解更多細(xì)節(jié),請(qǐng)參考 White Paper 和Design 文檔.
什么情況下需要Druid?
??? 當(dāng)你需要在大數(shù)據(jù)集上面進(jìn)行快速的,交互式的查詢時(shí)
??? 當(dāng)你需要進(jìn)行特殊的數(shù)據(jù)分析,而不只是簡(jiǎn)單的鍵值對(duì)存儲(chǔ)時(shí)
??? 當(dāng)你擁有大量的數(shù)據(jù)時(shí) (每天新增數(shù)百億的記錄、每天新增數(shù)十TB的數(shù)據(jù))
??? 當(dāng)你想要分析實(shí)時(shí)產(chǎn)生的數(shù)據(jù)時(shí)
??? 當(dāng)你需要一個(gè)24x7x365無(wú)時(shí)無(wú)刻不可用的數(shù)據(jù)存儲(chǔ)時(shí)
架構(gòu)概述
?? druid在一定程度上是受搜索框架的啟發(fā), 通過(guò)建立不變數(shù)據(jù)視圖和使用便于filter和aggregation的高度優(yōu)化的格式來(lái)提高性能. Druid 集群有一系列不同類型的節(jié)點(diǎn)組成, 每種節(jié)點(diǎn)將一小部分事情做到極致。
Druid vs…???
??? Druid-vs-Impala-or-Shark
??? Druid-vs-Redshift
??? Druid-vs-Vertica
??? Druid-vs-Cassandra
??? Druid-vs-Hadoop
??? Druid-vs-Spark
??? Druid-vs-Elasticsearch
?? ?
?? ?數(shù)據(jù)框架世界一直在巨大的混亂的變化之中, 這個(gè)網(wǎng)頁(yè)希望幫助潛在的用戶評(píng)估和確定druid適合用戶解決遇到的問(wèn)題。 如果有錯(cuò)誤請(qǐng)通過(guò)郵件列表或者其他渠道反饋.
轉(zhuǎn)載于:https://www.cnblogs.com/lpthread/p/4519687.html
總結(jié)
以上是生活随笔為你收集整理的druid.io 海量实时OLAP数据仓库 (翻译+总结) (1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: win32com模块
- 下一篇: 红帽企业linux4参考指南读书笔记-G