閱讀978 返回首頁    go 阿裏雲 go 技術社區[雲棲]


大數據時代結構化存儲雲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,可以滿足分析類需求。

9b55e78e3c76de735a3f261831e1815f33dcf4a2

HBase除了可以滿足業務較快增長的高吞吐以及大容量讀取需求,還有其他傳統關係型數據庫和非關係型數據庫所不具備的特性:比如鬆散表(不存數據,不占空間);實時更新、增量導入、多維刪除;隨機查詢、範圍查詢。

此外,HBase還有許多其他特性:

  • LSM樹:實時寫入吞吐量大,增量導入隔離性強;
  • TTL:數據時效性,係統自動處理;
  • 多版本:數據的第三維度,高效刪除方式;
  • 動態列:數據發散的利器;
  • 協處理器:滿足數據高效處理;
  • SQL訪問:二級索引;
  • 即時查詢:操作性查詢,準實時。

HBase的能力是完全可以線性擴展的,通過添加節點就可以線性增強計算存儲能力。

javascript:void(0)


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

HBase具有龐大的生態圈,支持實時數據分析、即時分析、多維分析、時序數據庫等場景。

d68e9f9fc92df8f27ee5075205f73ed72425543f

在阿裏內部,HBase的使用涉及日誌、聊天、監控、訂單、IOT、風控、搜索等。中國使用的公司還有京東、小米、騰訊、網易、360、知乎、中國人壽、電信......幾乎所有的一定規模的公司。

實際案例——傳感器監控類

在rowkey有一定的設計規則,業務係統會做一些優化,比如把多行壓成一行等等。

a6759f15c4062cff4a051e5f0fe9db12fc2a0302

實際案例——單車/司機軌跡

軌跡類應用可以滿足離線大規模的軌跡分析,滿足用戶、後端人員的實時查詢。

83ccf45366c16eb5b1186ab9588435430c0de390

實際案例——雙十一大屏

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

47899cdbe5c112ae646d3c3c31e6686f3bddd665

實際案例——安全風控

5928010ccf9f8f88afa4e7421583b8169571e2e5

在金融的戰場上,用戶畫像、風控一直也是核心之一,一般的數據也是存儲在HBase。

實際案例——搜索

搜索是HBase最先解決的一個場景,目標是為了存儲互聯網,流式計算實時處理後再導入到搜索引擎。

ff528ba9e6547623aaad53a8dddbcb63cba57c9c

實際案例——分析類

629f1179da5d8c8e52285307bd116ede7980dd03

以上分享的場景都在阿裏內部及雲上的實際業務中得以使用,滿足了高性能高存儲量的需求。

下圖展示了HBase在業務中所處的位置,以及整體數據流的流向。

7379cd40176e5d4b7d086453b4f06861d40c62a6


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

d4e0e66b326ce1247a818a3bbb1461fedec981ce

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

c1f6eeea775fb40d65e6b2e24817981792d5aa90

從架構層麵來講,不同層麵會提供不同的服務。

  • 產品層、接入層、網絡層:提供上雲方案、安全服務、公網訪問、監控指標報警、方案支持等一站的DBaas服務;
  • 中間件、HBase內核層:Apsaradb- HBase內核是基於社區 HBase1.1版本打造,目前在阿裏集團內部有數千業務使用,萬台機器的規模,在性能、穩定性、功能方案均有提升及改進,在曆年雙十一均有考驗;
  • 存儲層:HBase後續會基於雲端本地實例及共享存儲,極大降低成本;
  • 運維服務:實現運維自動化:15分鍾內全自動部署集群,自動守護進程,可用性檢測及報警,修改配置,擴容節點和磁盤,鏈路監控報警,指標可視化,自動升級內核等。

ApsaraDB HBase給用戶承諾的保障有:數據可靠性;高性能;高可用,自動負截均衡,單節點故障時可秒級故障轉移;生態完整,與Hadoop生態完美融合,支持其它組件複雜分析;易運維,全指標監控預警,在線擴容節點、磁盤及修改配置;強安全,支持網絡白名單、VPC網絡隔離、基於阿裏雲AK訪問集群。

作為一款數據庫類產品,ApsaraDB HBase與各個數據源間保持著非常通透的關係,方便數據導入導出。

0ad76556f4b87c213f56e6a18a15757f51bc27b8

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

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

26f641029a3587b19e8f3a84d8e81770215bb811

近期規劃

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

f6f89a7e0ae6d8c2b5777afa94497054872a0016

  • HBase公網訪問&AK訪問:實現在線共享環境,提供安全保障。
360d1d9b5da40e25b9f18baab627e7c63a1d9be9
  • 服務端一鍵遷移:這是團隊目前正在研究的功能。

46805e229447bba44d86b32ecc51abb89fba86bd

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

6e977bdeba54fbad6d8fd50e7828b37e4c95c915

  • SQL:定位非事務、schema、二級索引、輕分析。
e3db1a3dbf70e1053f56932340acc593c750ac5e
  • Replica:在一個Region寫,再在多個Region讀寫訪問。目前應用較少,致力於使HBase同時支持CP&AP。
f1e3544b2611631fba10666b848d339f63ec6c34

HBase本身一直在發展之中,在大規模的結構化存儲的場景中無疑是標準的產品,其支持的場景也在不斷拓展。阿裏雲HBase團隊也是致力於推廣改進HBase及提供專業的服務。我們希望HBase發展越來越好。

  • HBase全網最佳學習資料匯總:https://yq.aliyun.com/articles/169085
  • 雲HBase產品首頁:https://www.aliyun.com/product/hbase

最後更新:2017-09-04 18:32:47

  上一篇:go  《三體》裏的超級計算機,我們今天能造出來嗎?
  下一篇:go 入住之江正當時,“陽光”酒店式私寓大受追捧 之江網紅—貝利·雲棲中心再推70-110m²精裝新品