RM新时代网站-首页

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

HBase列族設(shè)計優(yōu)化實踐分析

大小:0.7 MB 人氣: 2017-10-10 需要積分:1
 現(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è)計原則。
  HBase列族設(shè)計優(yōu)化實踐分析
  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é)果分別如下面兩圖:
  HBase列族設(shè)計優(yōu)化實踐分析
  隨著BlockSize的增大,系統(tǒng)隨機讀的吞吐量不斷降低,延遲不斷增大。64K大小比16K大小的吞吐量大約降低13%,延遲增大13%。同樣的,128K大小比64K大小的吞吐量降低約22%,延遲增大27%。因此,對于以隨機讀為主的業(yè)務(wù),可以適當(dāng)調(diào)低BlockSize的大小,以獲得更好的讀性能。
  HBase列族設(shè)計優(yōu)化實踐分析
  隨著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%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?
      RM新时代网站-首页