吴忠躺衫网络科技有限公司

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>數值算法/人工智能>

HBase列族設計優化實踐分析

大小:0.7 MB 人氣: 2017-10-10 需要積分:1
 現在,網易視頻云與大家分享一下HBase最佳實踐-列族設計優化。
  隨著大數據的越來越普及,HBase也變得越來越流行。會用HBase現在已經變的并不困難,然而,怎么把它用的更好卻并不簡單。那怎么定義‘用的好’呢?很簡單,在保證系統穩定性、可用性的基礎上能夠用最少的系統資源(CPU,IO等)獲得最好的性能(吞吐量,讀寫延遲)就是’用的好’。HBase是一個龐大的體系,涉及到很多方面,很多因素都會影響到系統性能和系統資源使用率,根據場景對這些配置進行優化會很大程度上提升系統的性能。筆者總結至少有如下幾個方面:HDFS相關配置優化,HBase服務器端優化(GC優化、Compaction優化、硬件配置優化),列族設計優化,客戶端優化等,其中客戶端優化在前面已經通過超時機制、重試機制講過,后面筆者會繼續分別介紹其他三個優化重點。
  本節重點介紹列族設計優化,HBase中基本屬性都是以列族為單位進行設置的,如下示例,用戶創建了一張稱為‘ NewsClickFeedback’的表,表中只有一個列族’Toutiao’,緊接著的屬性都是對此列族進行的設置。這些屬性基本都會或多或少地影響該表的讀寫性能,但有些屬性用戶只需要理解其意義就知道如何設置,而有些屬性卻需要根據場景、根據業務來設置,比如BLOCKSIZE屬性在不同場景下應該如何設置?還有COMPRESSION屬性和DATA_BLOCK_ENCODING屬性,兩者都可以提供壓縮功能,那到底應該選擇哪個,還是兩個都需要進行設置?本文就重點介紹這三個屬性的設計原則。
  HBase列族設計優化實踐分析
  BlockSize設置
  塊大小是HBase的一個重要配置選項,默認塊大小為64M。對于不同的業務數據,塊大小的合理設置對讀寫性能有很大的影響。而對塊大小的調整,主要取決于兩點:
  1. 用戶平均讀取數據的大小。理論上講,如果用戶平均讀取數據的大小較小,建議將塊大小設置較小,這樣可以使得內存可以緩存更多block,讀性能自然會更好。相反,建議將塊大小設置較大。
  為了更好說明上述原理,筆者使用YCSB做了一個測試,分別在Get、Scan兩種場景下測試不同BlockSize大小(16K,64K,128K)對性能的影響。測試結果分別如下面兩圖:
  HBase列族設計優化實踐分析
  隨著BlockSize的增大,系統隨機讀的吞吐量不斷降低,延遲不斷增大。64K大小比16K大小的吞吐量大約降低13%,延遲增大13%。同樣的,128K大小比64K大小的吞吐量降低約22%,延遲增大27%。因此,對于以隨機讀為主的業務,可以適當調低BlockSize的大小,以獲得更好的讀性能。
  HBase列族設計優化實踐分析
  隨著BlockSize增大,scan的吞吐量逐漸增大,延遲不斷降低。64K大小BlockSize比16K大小的吞吐量增加了33%,延遲降低了24%;128K大小比64K大小吞吐量增加了7%,延遲降低了7%;因此,對于以scan為主的業務,可以適當增大BlockSize的大小,以獲得更好的讀性能。
  可見,如果業務請求以Get請求為主,可以考慮將塊大小設置較小;如果以Scan請求為主,可以將塊大小調大;默認的64M塊大小是在Scan和Get之間取得的一個平衡。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發表評論

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

      發表評論,獲取積分! 請遵守相關規定!

      ?
      百家乐龙虎桌布| 百家乐官网巴厘岛娱乐城| 百家乐技巧介绍| 百家乐官网顶路| 日博娱乐城开户| 百家乐长路投注法| 永吉县| 大发888官方游戏平台| 百家乐博彩通网| 百家乐官网赌局| 广元市| 伟易博百家乐娱乐城| 百家乐官网牌路分析仪| 博狗官网| 大发888优惠| 什么叫百家乐的玩法技巧和规则| 速博百家乐官网的玩法技巧和规则| 百家乐官网游戏平台架设| 彩票大赢家| 威尼斯人娱乐城好不好| 百家乐娱乐人物| 百家乐官网7scs娱乐场| 宾利百家乐官网游戏| 玛纳斯县| 大发888线上娱乐城| 百家乐奥| 乐百家乐彩现金开户| 百家乐代理加盟| 贵宾百家乐官网的玩法技巧和规则| 百家乐官网游戏玩法规则| 百家乐官网资金注码| 皇冠在线娱乐城| 大发888易付168| 赌场百家乐官网是如何玩| 百家乐官网赌博分析网| 百家乐官网高手技巧| 美国百家乐官网怎么玩| 百家乐官网注册开户送彩金| 澳门百家乐官网赢技巧| 百家乐官网发牌的介绍| 棋牌论坛|