介紹
我是NDPmedia公司的大數據OLAP的資深高級工程師, 專注於OLAP領域, 現將一個成熟的可靠的高性能的海量實時OLAP數據倉庫介紹給大家: druid.io
NDPmedia在2014年3月就開始使用, 見鏈接: http://blog.csdn.net/chenyi8888/article/details/37594771
druid是個很新的平台, 2013年底才開源出來, 雖然出現的比較晚, 但druid發展很快, 中國有幾個公司開始使用, 2015年druid將會是爆發的一年
最近druid 的華人作者Fangjin從Metamarkets離職, 專門從事druid研發和推廣.
以下翻譯自http://druid.io/docs/0.7.1.1/, 並添加了自己的注解
什么是Druid
Druid 是一個開源的,能在海量時序數據上 (萬億級別數據量, 1000 TB級別數據)上面提供實時分析查詢的OLAP數據倉庫,Druid提供了廉價的實時數據插入和任意數據探索的能力。
Druid的主要功能
為分析而生 - Druid是為了解決在OLAP工作流中進行探索分析而生的. 它提供了大量的filters, aggregators和 query 類型,並且提供了一個用戶添加新功能的框架. 用戶可以利用Druid的集群實現例如topN和直方圖等功能。
(注: 傳統數據庫, 查詢幾千萬的數據, 就會出問題, 查不出來)
(注: druid就是一個能力超強的數據庫, 執行例如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對SQL支持有限,現在是實驗版本。YeahMobi 重新開發適配了SQL, 屏蔽了下層平台, SQL 語句可以路由到這三個平台 druid, impala, hive)
高交互式 - Druid的低延時數據插入允許數據在生成之后的毫秒范圍之內就可以被用戶查詢到。Druid通過讀取和掃描需要的數據來優化查詢的延時。
高可用性 - Druid可以被用來實現需要持續提供服務的SaaS應用。即使是在系統升級的過程中,你的數據仍然可以被查詢。而且Druid 集群的擴容或者縮減不會帶來數據的丟失。
(注: 已經在生產環境之中驗證: 添加字段, 集群擴容, 集群縮減)
可擴展性 - 現有的Druid系統可以很輕松的處理每天數十億條記錄和TB級別的數據。Druid本身是被設計來解決PB級別數據的。
為什么要用Druid?
Druid的初衷是為了解決在使用Hadoop進行查詢時所遇見的高延時問題來提高交互性查詢。尤其是當你對數據進行匯總之后並在你匯總之后的數據上面進行查詢時效果更好。將你匯總之后的數據插入Druid,隨着你的數據量在不斷增長,你仍然可以對Druid的查詢能力非常有信心。當前的Druid安裝實例已經可以很好的處理以每小時數TB實時遞增的數據量。
(注: 在我們的實踐中 druid 查詢統計100億數據, 在5秒內響應。 查詢1個月的數據, 基本可以在毫秒內完成。 比hadoop的常用的T+1 Map Reduce 高效多了.
你可以在擁有Hadoop的同時創建一個Druid系統。Druid提供了以一種互動式切片、切塊方式來訪問數據的能力,它在查詢的靈活性和存儲格式直接尋找平衡從而來提供更好的查詢速度。
如果想了解更多細節,請參考 White Paper 和Design 文檔.
什么情況下需要Druid?
當你需要在大數據集上面進行快速的,交互式的查詢時
當你需要進行特殊的數據分析,而不只是簡單的鍵值對存儲時
當你擁有大量的數據時 (每天新增數百億的記錄、每天新增數十TB的數據)
當你想要分析實時產生的數據時
當你需要一個24x7x365無時無刻不可用的數據存儲時
架構概述
druid在一定程度上是受搜索框架的啟發, 通過建立不變數據視圖和使用便於filter和aggregation的高度優化的格式來提高性能. Druid 集群有一系列不同類型的節點組成, 每種節點將一小部分事情做到極致。
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
數據框架世界一直在巨大的混亂的變化之中, 這個網頁希望幫助潛在的用戶評估和確定druid適合用戶解決遇到的問題。 如果有錯誤請通過郵件列表或者其他渠道反饋.