9月初淘寶飛芃作了一個關於HBase的分享,講的激情飛揚,讓聽衆收益匪淺,現作下簡單總結。 html
HBase是一個NoSQL數據庫,在國內外被普遍使用,是bitTable的開源實現,主要由FaceBook、Cloudera、Yahoo!和ebay等大公司貢獻,國內貢獻主要是華爲和阿里系,其中淘寶還有一個代碼commiter。飛芃首先對HBase作了簡要介紹,着重強調它的一些特色。以後又講了Hbase很差的地方,以及使用的注意點,最後介紹了HBase在淘寶的一些應用。數據庫
1. HBase的特色數據結構
a)強一致性:同一行數據讀寫在同一個regionserver上oop
b)水平伸縮:region的自動分裂以及master的balance性能
c)行事務:同一行的寫入是原子的,這是因爲同一行數據讀寫在同一個regionserver上決定的大數據
d)支持範圍查詢spa
e)高性能隨即寫server
上面的特色讓我以爲HBase是Hash和樹的這兩種數據結構的結合體。首先HBase使用了Hash,好比根據rowkey得到value,還使用了樹,正由於是棵樹,因此具備分裂、支持範圍查詢等特性。htm
2.HBase很差的地方blog
a)沒有二級索引,使用時須要將本身寫索引表,這個索引表也存在HBase裏
b)沒有在線備份與還原策略
c)不穩定,使用有風險,好比NameNode單點,一旦掛了,整個HBase集羣掛了,RegionServer掛掉後須要一些時間切換,Region分裂時服務不可用
3.HBase在淘寶的應用
我的感受是最精華的部分,HBase在淘寶裏用在三個地方:
a)實時推薦、實時報表、實時計費
這類應用的特色是大量數據的實時寫入以及讀取
b)大數據量類型項目
好比歷史類或須要長期保存的數據
c)二次分析類型項目
Hadoop集羣作粗粒度分析,在線作二次分析,好比數據魔方。
4.討論
會後討論的時候,飛芃着重強調了HBase的不穩定,須要專業團隊維護,好比淘寶有一百多人的技術團隊專門維護Hadoop和HBase集羣,並且使用淘寶內部的HBase版本。針對一些同窗提出的業務需求是否適合HBase的問題,飛芃建議要綜合考慮應用規模等因素,可是若是選擇了HBase,必需要有團隊專門維護。