druid是目前比較流行的高性能的盆偿,分布式列存儲的OLAP(數(shù)據(jù)庫的級聯(lián)查詢)框架痰驱。(比較主流的分布式數(shù)據(jù)庫操作工具)
Druid具有以下特點:
1亞秒級OLAP查詢
包括多維過濾噩茄、ad-hoc的屬性分組、快速聚合數(shù)據(jù)等等袱蚓。
2實時的數(shù)據(jù)注入
真正做到數(shù)據(jù)攝入實時、查詢結果實時。(保證數(shù)據(jù)有效性姻锁,實現(xiàn)數(shù)據(jù)的統(tǒng)一)
3高效的多租戶
(用戶連接數(shù)據(jù)庫的周期——持續(xù)時間的長短——租期——多久連接數(shù)據(jù)庫不斷開枕赵,過了租期斷掉連接,只要連接上就能快速查詢)能力位隶,最高可以做到幾千用戶同時在線查詢拷窜。
4可擴展PB存儲
千億級事件快速處理,支持每秒數(shù)千查詢并發(fā)涧黄。(每秒百萬級的數(shù)據(jù)注入)
5多環(huán)境部署
druid集群可以很方便的擴展到PB的數(shù)據(jù)量篮昧,每秒百萬級別的數(shù)據(jù)注入。即便在大數(shù)據(jù)規(guī)模的情況下笋妥,也能保證其時效性懊昨。
6豐富的社區(qū)
druid擁有豐富的社區(qū)共大家學習。
淘寶阿里數(shù)據(jù)庫支持每秒42萬次的寫庫操作春宣。(支持實時入庫)
Druid的功能
1酵颁、替換DBCP和C3P0。Druid提供了一個高效月帝、功能強大躏惋、可擴展性好的數(shù)據(jù)庫連接池。
2嚷辅、可以監(jiān)控數(shù)據(jù)庫訪問性能簿姨,Druid內(nèi)置提供了一個功能強大的StatFilter插件,能夠詳細統(tǒng)計SQL的執(zhí)行性能簸搞,這對于線上分析數(shù)據(jù)庫訪問性能有幫助扁位。
3、數(shù)據(jù)庫密碼加密趁俊。直接把數(shù)據(jù)庫密碼寫在配置文件中贤牛,這是不好的行為,容易導致安全問題则酝。DruidDruiver和DruidDataSource都支持PasswordCallback殉簸。
4、SQL執(zhí)行日志沽讹,Druid提供了不同的LogFilter般卑,能夠支持Common-Logging、Log4j和JdkLog爽雄,你可以按需要選擇相應的LogFilter蝠检,監(jiān)控你應用的數(shù)據(jù)庫訪問情況。
5挚瘟、擴展JDBC叹谁,如果你要對JDBC層有編程的需求饲梭,可以通過Druid提供的Filter機制,很方便編寫JDBC層的擴展插件焰檩。
Realtime 組件負責數(shù)據(jù)的實時攝入憔涉。
Broker 階段負責查詢?nèi)蝿盏姆职l(fā)以及查詢結果的匯總,并將結果返回給用戶析苫。
Historical節(jié)點負責索引后的歷史數(shù)據(jù)的存儲兜叨,數(shù)據(jù)存儲在deep storage。deep storage可以是本地衩侥,也可以是HDFS等分布式文件系統(tǒng)国旷。
Indexing service 包含兩個組件(圖中未畫出)。Overlord 組件負責索引任務的管理茫死、分發(fā)跪但。
MiddleManager 負責索引任務的具體執(zhí)行。