Kudu是專為Apache Hadoop平臺開發(fā)的列式存儲管理器,具有Hadoop生態(tài)系統(tǒng)應(yīng)用程序的共同技術(shù)特性:在通用的商用硬件上運(yùn)行,可水平擴(kuò)展,提供高可用性。
Kudu的設(shè)計具有以下優(yōu)點:
能夠快速處理OLAP工作負(fù)載
支持與MapReduce,Spark和其他Hadoop生態(tài)系統(tǒng)組件集成
與Apache Impala的緊密集成,使其成為將HDFS與Apache Parquet結(jié)合使用的更好選擇
提供強(qiáng)大而靈活的一致性模型,允許您根據(jù)每個請求選擇一致性要求,包括用于嚴(yán)格可序列化的一致性的選項
提供同時運(yùn)行順序讀寫和隨機(jī)讀寫的良好性能
易于管理
高可用性。Master和TServer采用raft算法,該算法可確保只要副本總數(shù)的一半以上可用,tablet就可以進(jìn)行讀寫操作。例如,如果3個副本中有2個副本或5個副本中有3個副本可用,則tablet可用。即使主tablet出現(xiàn)故障,也可以通過只讀的副tablet提供讀取服務(wù)
支持結(jié)構(gòu)化數(shù)據(jù)模型
通過結(jié)合所有以上屬性,Kudu的目標(biāo)是支持在當(dāng)前Hadoop存儲技術(shù)上難以實現(xiàn)或無法實現(xiàn)的應(yīng)用。
Kudu的應(yīng)用場景有:
需要最終用戶立即使用新到達(dá)數(shù)據(jù)的報告型應(yīng)用
同時支持大量歷史數(shù)據(jù)查詢和細(xì)粒度查詢的時序應(yīng)用
使用預(yù)測模型并基于所有歷史數(shù)據(jù)定期刷新預(yù)測模型來做出實時決策的應(yīng)用