最近從一個骨灰級大神同事那里了解到kudu系統,火車上剛好適合學習,就了解了一下。發覺這個系統的理念還是很先進的,和我們項目組目前的開發愿景很相似。大概總結一下,后續再持續關注細節。
系統背景
當前基于hadoop的大數據系統大多數是混合架構,通過hbase做實時更新,數據后臺定期轉儲到hdfs以支持快速分析生成報表。混合架構如下圖所示:
基于hadoop的混合架構
雖然當前的架構可以滿足用戶需求,但是過于繁瑣,存儲和維護的成本還是很大。kudu的愿景就是通過打造一個高效支持scan和random access,同時結合當前內存、cpu、存儲介質的高性能以提供一個優雅高速的存儲方案來避免hadoop的混合部署問題。
技術目標
對數據掃描(scan)和隨機訪問(random access)同時具有高性能,簡化用戶復雜的混合架構;
高CPU效率,最大化先進處理器的效能;
高IO性能,充分利用先進永久存儲介質;
支持數據的原地更新,避免額外的數據處理、數據移動
理想很美好。至于怎么實現筆者暫時還沒有深入分析。后續會補上具體細節學習。更多Kudu架構細節,請查閱http://getkudu.io/kudu.pdf
Kudu提供了C++、Java API支持點操作與批操作。Kudu的另一個目標是與現有的Hadoop生態系統工具進行集成。目前,Kudu的Beta版本已經與Impala、MapReduce以及Apache Spark實現了整合,并計劃將Kudu集成到整個Hadoop生態系統中。
理念很好,后續持續關注。