DataServing是阿里云E-MapReduce提供的基于Apache HBase的數(shù)據(jù)服務(wù)集群類型。本文為您介紹數(shù)據(jù)服務(wù)集群支持的特性,適用場景以及技術(shù)架構(gòu)。

特性介紹

Apache HBase是具有高可靠性、高性能、列存儲、可伸縮、實時讀寫的開源NoSQL分布式系統(tǒng)。特別適用于需要實時讀寫隨機訪問超大規(guī)模數(shù)據(jù)集的場景。

Apache HBase和Apache Hadoop生態(tài)系統(tǒng)無縫集成,并且可以和Apache Phoenix搭配使用以對HBase表進行類似于SQL的查詢。

Apache HBase基于HDFS作為底層存儲系統(tǒng),在云上的場景可以使用對象存儲(例如OSS)來提供更好的靈活性以及更低的成本。

Apache HBase支持海量數(shù)據(jù)存儲,具有很高的存儲和計算擴展性,以及很好的讀寫性能,支持動態(tài)列、數(shù)據(jù)多版本存儲,以及數(shù)據(jù)的生命周期管理等特點。

適用場景

基于Apache HBase的優(yōu)勢和特點,DataServing適用于以下場景:
  • 風(fēng)控或畫像等需要支持動態(tài)列的場景。
  • 圖片、視頻、網(wǎng)頁等中對象,物聯(lián)網(wǎng)的時序數(shù)據(jù)和車聯(lián)網(wǎng)的空間數(shù)據(jù)等需要支持海量數(shù)據(jù)和較高寫入性的數(shù)據(jù)存儲場景。
  • DataServing基于讀寫延遲低,并發(fā)高等特點,支持Feed流場景。

技術(shù)架構(gòu)

EMR HBase目前支持兩種架構(gòu),一種是傳統(tǒng)的基于HDFS存算一體架構(gòu),另外一種是基于OSS-HDFS服務(wù)的存算分離架構(gòu),詳情請參見JindoData概述OSS-HDFS服務(wù)概述

DataServing-Hbase

上圖是一個基于OSS-HDFS服務(wù)的存算分離架構(gòu),圖中EMR是一個已安裝HBase和HDFS等組件的EMR集群。

  • EMR HBase的HFile和表的元數(shù)據(jù)都存儲到OSS-HDFS中,EMR HBase通過JindoData來訪問存儲在OSS-HDFS上的數(shù)據(jù)。
  • Core節(jié)點除了部署HBase進程和JindoData進程外,還會部署HDFS進程用于存儲HBase的WAL數(shù)據(jù),Core節(jié)點不支持自由伸縮。
  • Task節(jié)點上除了部署HBase進程和JindoData進程外,不會部署HDFS進程,Task節(jié)點支持自由伸縮。
  • Core節(jié)點和Task節(jié)點的HBase RegionServer將數(shù)據(jù)塊緩存在節(jié)點內(nèi)存或本地磁盤中。如果緩存在本地盤,需要開啟Bucket Cache。
  • EMR HBase存算分離架構(gòu)下,除了HBase自身的Block Cache外,還支持基于Jindofsx分布式緩存服務(wù)來充分利用集群本地磁盤來加速讀訪問。
存算分離優(yōu)勢如下:
  • 更低的存儲成本:OSS存儲。
  • 更低的運維成本:存儲全托管。
  • 支持彈性伸縮:按需擴縮容計算資源。
  • 更容易升級:無狀態(tài)(HBase表的元數(shù)據(jù)和數(shù)據(jù)存在OSS中,本地只有計算,升級版本時不用考慮數(shù)據(jù)遷移問題),更容易升級HBase版本。