再談 HBase 八大應用場景

HBase概述

HBase是一個分佈式存儲、數據庫引擎,可以支持千萬的QPS、PB級別的存儲,這些都已經在生產環境驗證,並且在廣大的公司已經驗證。特別是阿里、小米、京東、滴滴內部都有數千、上萬臺的HBase集群。選擇一個技術的首要條件是對齊大公司,大公司會投入大量的人力去維護、改進、貢獻社區。

關於NewSQL與NoSQL的關係

技術總是不斷向前發展的,如今都在提NewSQL,其實NewSQL在筆者看來是NoSQL之上的一個封裝,一個子場景。NoSQL中的大表,典型就是提供了KV1V2……Vn,其中每個V可以是1b,也可以是100MB。可以說是一個元的存在,就類似於數字世界的01,可以任意組合。在以HBase為代表的NoSQL中,HBase可以組合出任意的場景,NewSQL可以是之上加了SQL層或者更近一層添加事務的子場景。

關於計算與存儲分離

在雲上,對於引擎最為核心的就是存儲計算分離,存儲可以按需計費,起碼得彈性伸縮。計算則按節點存儲提供。如果完全按照QPS計費,要麼費用高得嚇人,要麼難以滿足更多的場景,比如存儲10M,到底算一次QPS,還是多少次。 由於HBase天生就是存儲計算分離,天然比較適配雲上的架構,可以說到了雲上,HBase更加具有優勢。

HBase場景

HBase可以說是一個數據庫,也可以說是一個存儲。擁有雙重屬性的HBase天生就具備廣闊的應用場景。在最近的一些版本中,引入了OffHeap降低gc影響,優化鏈路延遲,提供Replica等可以滿足在線的需求。引入MOB,可以存儲10M左右的對象,完全適應了對象存儲。另外由於自身的併發能力、存儲能力,可以說是具有最為競爭力的引擎

再談 HBase 八大應用場景


  • 對象存儲:我們知道不少的頭條類、新聞類的的新聞、網頁、圖片存儲在HBase之中,一些病毒公司的病毒庫也是存儲在HBase之中
  • 時序數據:HBase之上有OpenTSDB模塊,可以滿足時序類場景的需求
  • 推薦畫像:特別是用戶的畫像,是一個比較大的稀疏矩陣,螞蟻的風控就是構建在HBase之上
  • 時空數據:主要是軌跡、氣象網格之類,滴滴打車的軌跡數據主要存在HBase之中,另外在技術所有大一點的數據量的車聯網企業,數據都是存在HBase之中
  • CubeDB OLAP:Kylin一個cube分析工具,底層的數據就是存儲在HBase之中,不少客戶自己基於離線計算構建cube存儲在hbase之中,滿足在線報表查詢的需求
  • 消息/訂單:在電信領域、銀行領域,不少的訂單查詢底層的存儲,另外不少通信、消息同步的應用構建在HBase之上
  • Feeds流:典型的應用就是xx朋友圈類似的應用
  • NewSQL:之上有Phoenix的插件,可以滿足二級索引、SQL的需求,對接傳統數據需要SQL非事務的需求

更多的場景需要不斷挖掘

以上再次回顧HBase的場景,做了一個簡單的分類,後續會有一些針對一些場景的實際案例


分享到:


相關文章: