HBase列族設(shè)計優(yōu)化實踐分析
大小:0.7 MB 人氣: 2017-10-10 需要積分:1
標(biāo)簽:Hbase(11036)網(wǎng)易視頻云(1612)
現(xiàn)在,網(wǎng)易視頻云與大家分享一下HBase最佳實踐-列族設(shè)計優(yōu)化。隨著大數(shù)據(jù)的越來越普及,HBase也變得越來越流行。會用HBase現(xiàn)在已經(jīng)變的并不困難,然而,怎么把它用的更好卻并不簡單。那怎么定義‘用的好’呢?很簡單,在保證系統(tǒng)穩(wěn)定性、可用性的基礎(chǔ)上能夠用最少的系統(tǒng)資源(CPU,IO等)獲得最好的性能(吞吐量,讀寫延遲)就是’用的好’。HBase是一個龐大的體系,涉及到很多方面,很多因素都會影響到系統(tǒng)性能和系統(tǒng)資源使用率,根據(jù)場景對這些配置進行優(yōu)化會很大程度上提升系統(tǒng)的性能。筆者總結(jié)至少有如下幾個方面:HDFS相關(guān)配置優(yōu)化,HBase服務(wù)器端優(yōu)化(GC優(yōu)化、Compaction優(yōu)化、硬件配置優(yōu)化),列族設(shè)計優(yōu)化,客戶端優(yōu)化等,其中客戶端優(yōu)化在前面已經(jīng)通過超時機制、重試機制講過,后面筆者會繼續(xù)分別介紹其他三個優(yōu)化重點。
本節(jié)重點介紹列族設(shè)計優(yōu)化,HBase中基本屬性都是以列族為單位進行設(shè)置的,如下示例,用戶創(chuàng)建了一張稱為‘ NewsClickFeedback’的表,表中只有一個列族’Toutiao’,緊接著的屬性都是對此列族進行的設(shè)置。這些屬性基本都會或多或少地影響該表的讀寫性能,但有些屬性用戶只需要理解其意義就知道如何設(shè)置,而有些屬性卻需要根據(jù)場景、根據(jù)業(yè)務(wù)來設(shè)置,比如BLOCKSIZE屬性在不同場景下應(yīng)該如何設(shè)置?還有COMPRESSION屬性和DATA_BLOCK_ENCODING屬性,兩者都可以提供壓縮功能,那到底應(yīng)該選擇哪個,還是兩個都需要進行設(shè)置?本文就重點介紹這三個屬性的設(shè)計原則。
BlockSize設(shè)置
塊大小是HBase的一個重要配置選項,默認(rèn)塊大小為64M。對于不同的業(yè)務(wù)數(shù)據(jù),塊大小的合理設(shè)置對讀寫性能有很大的影響。而對塊大小的調(diào)整,主要取決于兩點:
1. 用戶平均讀取數(shù)據(jù)的大小。理論上講,如果用戶平均讀取數(shù)據(jù)的大小較小,建議將塊大小設(shè)置較小,這樣可以使得內(nèi)存可以緩存更多block,讀性能自然會更好。相反,建議將塊大小設(shè)置較大。
為了更好說明上述原理,筆者使用YCSB做了一個測試,分別在Get、Scan兩種場景下測試不同BlockSize大?。?6K,64K,128K)對性能的影響。測試結(jié)果分別如下面兩圖:
隨著BlockSize的增大,系統(tǒng)隨機讀的吞吐量不斷降低,延遲不斷增大。64K大小比16K大小的吞吐量大約降低13%,延遲增大13%。同樣的,128K大小比64K大小的吞吐量降低約22%,延遲增大27%。因此,對于以隨機讀為主的業(yè)務(wù),可以適當(dāng)調(diào)低BlockSize的大小,以獲得更好的讀性能。
隨著BlockSize增大,scan的吞吐量逐漸增大,延遲不斷降低。64K大小BlockSize比16K大小的吞吐量增加了33%,延遲降低了24%;128K大小比64K大小吞吐量增加了7%,延遲降低了7%;因此,對于以scan為主的業(yè)務(wù),可以適當(dāng)增大BlockSize的大小,以獲得更好的讀性能。
可見,如果業(yè)務(wù)請求以Get請求為主,可以考慮將塊大小設(shè)置較小;如果以Scan請求為主,可以將塊大小調(diào)大;默認(rèn)的64M塊大小是在Scan和Get之間取得的一個平衡。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
下載地址
HBase列族設(shè)計優(yōu)化實踐分析下載
相關(guān)電子資料下載
- 【分布式存儲數(shù)據(jù)恢復(fù)】hbase和hive數(shù)據(jù)庫底層文件誤刪的恢復(fù)案例 415
- 使用G1 GC時HBase為什么性能下降了近20% 1653
- Hbase的基礎(chǔ)性介紹與入門 1046
- 阿里HBase高可用8年“抗戰(zhàn)”回憶錄 246
- 阿里云HBase推出普惠性高可用服務(wù),獨家支持用戶的自建、混合云環(huán)境集群 205
- 今年小米做東,HBaseCon Asia 2019將在北京召開 2893
- 基于HBase的工業(yè)大數(shù)據(jù)存儲實戰(zhàn) 3130
- 阿里云HBase推出全新X-Pack服務(wù) 定義HBase云服務(wù)新標(biāo)準(zhǔn) 123
- 阿里云HBase全新發(fā)布X-Pack NoSQL數(shù)據(jù)庫再上新臺階 231
- 八年技術(shù)加持,性能提升10倍,阿里云HBase 2.0首發(fā)商用 130