大數據時代結構化存儲雲HBase技術架構及最佳實踐
在10年,阿裏研究HBase,是為了解決阿裏容量及並發的實際問題,按照數據庫要求,阿裏深入HBase技術,並致力於保障穩定性和性能,目前已經有10000台規模,數百個集群,大約1億的QPS,服務整個集團的業務。17年,把這部分能力也開放給公有雲客戶。本文中,阿裏雲高級專家封神帶來了主題演講《大數據時代結構化存儲雲HBase技術架構及最佳實踐》,介紹HBase的應用選擇、實戰案例、技術平台解讀以及後續的規劃。
為什麼應用HBase
一般而言,傳統關係型數據庫麵臨著成本、容量、QPS、分析等多方麵的問題:存儲成本較高;無法滿足TB、PB級別的數量存儲需求;QPS無法滿足較高的並發要求,性能不能橫向擴展;數據隔離,從而不能滿足分析類的需求。
通過關係型數據庫MySQL,可以解決中小數據庫存儲需求;通過分庫分表,能夠解決一定容量及並發的需求,但是其實現複雜,需要業務感知;通過以HBase為代表的分布式數據庫,可以支持高到千萬的並發,滿足海量數據的存儲。
那麼怎麼解決傳統數據庫這些問題呢?HBase給出了相應的應對方法:
- LSM-Tree:寫吞吐高,離線導入效率高;
- 存儲無限擴容:計算存儲分離,分布式存儲可以無限擴容;
- 自動分區:分區自動分裂,分區自動Merge;
- Hadoop生態:Phoenix滿足查詢需求,Spark接HBase,可以滿足分析類需求。

HBase除了可以滿足業務較快增長的高吞吐以及大容量讀取需求,還有其他傳統關係型數據庫和非關係型數據庫所不具備的特性:比如鬆散表(不存數據,不占空間);實時更新、增量導入、多維刪除;隨機查詢、範圍查詢。
此外,HBase還有許多其他特性:
- LSM樹:實時寫入吞吐量大,增量導入隔離性強;
- TTL:數據時效性,係統自動處理;
- 多版本:數據的第三維度,高效刪除方式;
- 動態列:數據發散的利器;
- 協處理器:滿足數據高效處理;
- SQL訪問:二級索引;
- 即時查詢:操作性查詢,準實時。
HBase的能力是完全可以線性擴展的,通過添加節點就可以線性增強計算存儲能力。

HBase具有豐富的應用場景,憑借海量的存儲能力和高吞吐能力,為各種應用場景提供支持,包括報表類、時序類、日誌類、消息類、推薦類、風控類、軌跡類,行業包括電子商務、物聯網/車聯網、聊天軟件、金融、廣告商、新聞、電信等等。
HBase具有龐大的生態圈,支持實時數據分析、即時分析、多維分析、時序數據庫等場景。

在阿裏內部,HBase的使用涉及日誌、聊天、監控、訂單、IOT、風控、搜索等。中國使用的公司還有京東、小米、騰訊、網易、360、知乎、中國人壽、電信......幾乎所有的一定規模的公司。
實際案例——傳感器監控類
在rowkey有一定的設計規則,業務係統會做一些優化,比如把多行壓成一行等等。

實際案例——單車/司機軌跡
軌跡類應用可以滿足離線大規模的軌跡分析,滿足用戶、後端人員的實時查詢。

實際案例——雙十一大屏
這是阿裏內部非常具有代表性的場景。高吞吐、高並發、低延遲的訪問需求下,對HBase應用提出了很高的要求。

實際案例——安全風控

在金融的戰場上,用戶畫像、風控一直也是核心之一,一般的數據也是存儲在HBase。
實際案例——搜索
搜索是HBase最先解決的一個場景,目標是為了存儲互聯網,流式計算實時處理後再導入到搜索引擎。

實際案例——分析類

以上分享的場景都在阿裏內部及雲上的實際業務中得以使用,滿足了高性能高存儲量的需求。
下圖展示了HBase在業務中所處的位置,以及整體數據流的流向。

在構建過程中,HBase會麵臨的問題涉及:較為複雜的運維體係、安全體係、雲環境、源代碼有bug需要修複、數據可靠性無法保障、配置複雜、需要增加公網服務等功能、穩定性待提升等方麵。ApsaraDB HBase平台能夠針對性地完善這些因素,性能更佳,更加穩定可靠。

ApsaraDB HBase的基本架構圖如下所示:

從架構層麵來講,不同層麵會提供不同的服務。
- 產品層、接入層、網絡層:提供上雲方案、安全服務、公網訪問、監控指標報警、方案支持等一站的DBaas服務;
- 中間件、HBase內核層:Apsaradb- HBase內核是基於社區 HBase1.1版本打造,目前在阿裏集團內部有數千業務使用,萬台機器的規模,在性能、穩定性、功能方案均有提升及改進,在曆年雙十一均有考驗;
- 存儲層:HBase後續會基於雲端本地實例及共享存儲,極大降低成本;
- 運維服務:實現運維自動化:15分鍾內全自動部署集群,自動守護進程,可用性檢測及報警,修改配置,擴容節點和磁盤,鏈路監控報警,指標可視化,自動升級內核等。
ApsaraDB HBase給用戶承諾的保障有:數據可靠性;高性能;高可用,自動負截均衡,單節點故障時可秒級故障轉移;生態完整,與Hadoop生態完美融合,支持其它組件複雜分析;易運維,全指標監控預警,在線擴容節點、磁盤及修改配置;強安全,支持網絡白名單、VPC網絡隔離、基於阿裏雲AK訪問集群。
作為一款數據庫類產品,ApsaraDB HBase與各個數據源間保持著非常通透的關係,方便數據導入導出。

HBase API在性能上可以成倍地提升,如下圖所示。

HBase SQL實現了全局二級索引:索引存儲一致性同步、單列索引、索引異步構建,性能大幅度提升。

近期規劃
關於HBase的規劃,阿裏已經對外開放過HBase鏈路優化、集群同步、強一致性等技術分享,後續將會在公網訪問、服務端一鍵遷移、共享存儲、SQL、Replica等方麵繼續完善。

- HBase公網訪問&AK訪問:實現在線共享環境,提供安全保障。

- 服務端一鍵遷移:這是團隊目前正在研究的功能。

- 共享存儲:下沉到存儲層及降低存儲成本。

- SQL:定位非事務、schema、二級索引、輕分析。

- Replica:在一個Region寫,再在多個Region讀寫訪問。目前應用較少,致力於使HBase同時支持CP&AP。

HBase本身一直在發展之中,在大規模的結構化存儲的場景中無疑是標準的產品,其支持的場景也在不斷拓展。阿裏雲HBase團隊也是致力於推廣改進HBase及提供專業的服務。我們希望HBase發展越來越好。
-
HBase全網最佳學習資料匯總:https://yq.aliyun.com/articles/169085
- 雲HBase產品首頁:https://www.aliyun.com/product/hbase
最後更新:2017-09-04 18:32:47