成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

【實戰(zhàn)解析】基于HBase的大數(shù)據(jù)存儲在京東的應用場景

開發(fā) 開發(fā)工具 數(shù)據(jù)分析
HBase是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng),適用于結構化的存儲,底層依賴于Hadoop的HDFS,利用HBase技術可在廉價PCServer上搭建起大規(guī)模結構化存儲集群。

HBase是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng),適用于結構化的存儲,底層依賴于Hadoop的HDFS,利用HBase技術可在廉價PCServer上搭建起大規(guī)模結構化存儲集群。因此,HBase被廣泛使用在大數(shù)據(jù)存儲的解決方案中。

[[264260]]

為何使用HBase

(1) HBase的優(yōu)點:

  • 列可以動態(tài)增加,并且列為空就不存儲數(shù)據(jù),節(jié)省存儲空間
  • HBase自動切分數(shù)據(jù),使得數(shù)據(jù)存儲自動具有水平scalability
  • HBase可以提供高并發(fā)讀寫操作的支持

(2) HBase的缺點:

  • 不能支持條件查詢,只支持按照Row key來查詢
  • HBase并不適合傳統(tǒng)的事物處理程序或關聯(lián)分析,不支持復雜查詢,一定程度上限制了它的使用,但是用它做數(shù)據(jù)存儲的優(yōu)勢也同樣非常明顯

因為HBase存儲的是松散的數(shù)據(jù),所以如果你的應用程序中,數(shù)據(jù)表每一行的結構是有差別的,那么可以考慮使用HBase。

因為HBase的列可以動態(tài)增加,并且列為空就不存儲數(shù)據(jù),所以如果你需要經(jīng)常追加字段,且大部分字段是NULL值的,那可以考慮HBase。

因為HBase可以根據(jù)Rowkey提供高效的查詢,所以如果你的數(shù)據(jù)(包括元數(shù)據(jù)、消息、二進制數(shù)據(jù)等)都有著同一個主鍵,或者你需要通過鍵來訪問和修改數(shù)據(jù),使用HBase是一個很好地選擇。

二、如何使用HBase

場景一:賣家操作日志

賣家操作日志,顧名思義是用來記錄商家操作的系統(tǒng),從而可以保證商家可以精確查詢自己的各種操作。京東有幾十萬的商家時時刻刻的進行著各種操作,因此賣家操作日志的特點是:數(shù)據(jù)量大、實時性強、增多查少。

▲圖一

▲圖二

做賣家操作日志初期,將所有的操作日志存放在ES中,操作日志的數(shù)據(jù)量是非常大的,但當時所能申請到的ES資源有限。當把大量的數(shù)據(jù)存儲到有限的ES集群中時便導致了性能的下降。在這種情況下,選擇了只在ES集群中存儲最近三個月的數(shù)據(jù),對其提供靈活的查詢,而長期的數(shù)據(jù)存儲使用HBase來進行。這樣便可以實現(xiàn)對近期操作靈活展現(xiàn),對長期數(shù)據(jù)也有精確備份。

場景二:京麥消息日志的存儲

京麥消息日志的存儲是屬于京麥筋斗云系統(tǒng)(用于打造京麥消息生態(tài)系統(tǒng)閉環(huán))不可或缺的一部分,其中包含消息的全鏈路追蹤以及消息的統(tǒng)計分析。京麥消息每天都會有幾千萬的消息量,如何對消息進行追蹤和統(tǒng)計便成為了一個至關重要的問題。

消息追蹤要求實時性、多維度精確查詢,因此選擇將最近一周的消息日志存儲在ES。統(tǒng)計分析要求有足夠多的數(shù)據(jù),因此在將數(shù)據(jù)存儲在ES中的同時也存儲在HBase中一份。最終再定期將HBase中的數(shù)據(jù)導入到京東的數(shù)據(jù)集市中,這樣便可以很方便的對京麥消息進行統(tǒng)計分析。

HBase的數(shù)據(jù)結構

▲HBase數(shù)據(jù)的概念視圖

要使用HBase首先要了解HBase的數(shù)據(jù)結構:

HBase會存儲系列的行記錄,行記錄有三個基本類型的定義:Row Key、Time Stamp、Column Family。

1. Row Key

與NoSQL數(shù)據(jù)庫一樣,Row Key是用來檢索記錄的主鍵。訪問HBase table中的行,只有三種方式:

  • 通過單個Row Key訪問
  • 通過Row Key的range全表掃描
  • Row Key可以是任意字符串(***長度是64KB,實際應用中長度一般為 10 ~ 100bytes),在HBase內部,Row Key保存為字節(jié)數(shù)組

在存儲時,數(shù)據(jù)按照Row Key的字典序(byte order)排序存儲。設計Key時,要充分排序存儲這個特性,將經(jīng)常一起讀取的行存儲到一起(位置相關性)。

2. Column Family

HBase表中每個列都必須屬于某個列族,列族必須作為表模式定義的一部分預先給出(有點像關系型數(shù)據(jù)庫中的列名,定義完一般情況下就不會再去修改)。

列名以列族作為前綴,每個列族都可以有多個列成員。新的列族成員(也就是列)可以隨后按需,動態(tài)加入。

Hbase把同一列族里面的數(shù)據(jù)存儲在同一目錄下,由幾個文件保存。

3. Time Stamp

在HBase每個cell存儲單元對同一份數(shù)據(jù)有多個版本,根據(jù)唯一的時間戳來區(qū)分每個版本之間的差異,不同版本的數(shù)據(jù)按照時間倒序排序,***的數(shù)據(jù)版本排在最前面。

三、簡述HBase的架構原理

1. HBase的模塊

HBase的模塊

(1) Master

HBase Master用于協(xié)調多個Region Server,偵測各個Region Server之間的狀態(tài),并平衡Region Server之間的負載。HBase Master還有一個職責就是負責分配Region給Region Server。HBase允許多個Master 節(jié)點共存,但是這需要Zookeeper的幫助。不過當多個Master節(jié)點共存時,只有一個Master是提供服務的,其他的Master節(jié)點處于待命的狀態(tài)。當正在工作的Master節(jié)點宕機時,其他的Master則會接管 HBase 的集群。

(2)Region Server

對于一個Region Server而言,其包括了多個Region。Region Server的作用只是管理表格,以及實現(xiàn)讀寫操作。Client 直接連接Region Server,并通信獲取HBase中的數(shù)據(jù)。對于Region而言,則是真實存放HBase數(shù)據(jù)的地方,也就說Region是HBase可用性和分布式的基本單位。如果當一個表格很大,并由多個CF組成時,那么表的數(shù)據(jù)將存放在多個Region之間,并且在每個Region中會關聯(lián)多個存儲的單元(Store)。

(3)Zookeeper

對于HBase而言,Zookeeper的作用是至關重要的。首先Zookeeper是作為HBase Master的HA解決方案。也就是說,是Zookeeper保證了至少有一個HBase Master處于運行狀態(tài)。并且Zookeeper負責Region和Region Server的注冊。其實Zookeeper發(fā)展到目前為止,已經(jīng)成為了分布式大數(shù)據(jù)框架中容錯性的標準框架。不光是HBase,幾乎所有的分布式大數(shù)據(jù)相關的開源框架,都依賴于Zookeeper實現(xiàn)HA。

2. HBase的原理

首先需要知道HBase的集群是通過Zookeeper來進行機器之前的協(xié)調,也就是說HBase Master與Region Server之間的關系是依賴Zookeeper來維護。當一個Client需要訪問HBase集群時,Client需要先和Zookeeper來通信,然后才會找到對應的Region Server。每一個 Region Server管理著很多個Region。對于HBase來說,Region是HBase并行化的基本單元。因此,數(shù)據(jù)也都存儲在Region中。

這里需要特別注意,每一個Region都只存儲一個Column Family的數(shù)據(jù),并且是該CF中的一段(按Row 的區(qū)間分成多個Region)。Region所能存儲的數(shù)據(jù)大小是有上限的,當達到該上限時(Threshold),Region會進行分裂,數(shù)據(jù)也會分裂到多個Region中,這樣便可以提高數(shù)據(jù)的并行化,以及提高數(shù)據(jù)的容量。

每個Region包含著多個Store對象。每個Store包含一個MemStore,和一個或多個HFile。MemStore便是數(shù)據(jù)在內存中的實體,并且一般都是有序的。當數(shù)據(jù)向Region寫入的時候,會先寫入MemStore。當MemStore中的數(shù)據(jù)需要向底層文件系統(tǒng)傾倒(Dump)時(例如MemStore中的數(shù)據(jù)體積到達MemStore配置的***值),Store便會創(chuàng)建StoreFile,而StoreFile就是對HFile一層封裝。所以MemStore中的數(shù)據(jù)會最終寫入到HFile中,也就是磁盤IO。由于HBase底層依靠HDFS,因此HFile都存儲在HDFS之中。這便是整個HBase工作的原理簡述。

四、使用HBase時應注意的問題

基于HBase的系統(tǒng)設計與開發(fā)中,需要考慮的因素不同于關系型數(shù)據(jù)庫,HBase模式本身很簡單,但賦予你更多調整的空間,有一些模式寫性能很好,但讀取數(shù)據(jù)時表現(xiàn)不好,或者正好相反,類似傳統(tǒng)數(shù)據(jù)庫基于范式的OR建模,在實際項目中考慮HBase設計模式是,需要從以下幾方面內容著手:

  • 這個表應該有多少個列簇
  • 列簇使用什么數(shù)據(jù)
  • 每個列簇應有多少個列
  • 列名應該是什么,盡管列名不必在建表時定義,但是讀寫數(shù)據(jù)時是需要的
  • 單元應該存放什么數(shù)據(jù)
  • 每個單元存儲什么時間版本
  • 行健結構是什么,應該包括什么信息

五、總結

現(xiàn)如今各種數(shù)據(jù)存儲方案層出不窮,本文結合兩個實戰(zhàn)場景就基于HBase的大數(shù)據(jù)存儲做了簡單的分析,并對HBase的原理做了簡單的闡述。如何使用好HBase,甚至于如何選擇一個***的數(shù)據(jù)存儲方案,還需要根據(jù)場景需要具體分析和設計。

作者簡介

目前就職于京東商城京麥平臺組,從事京東商家開放平臺的相關開發(fā)工作。熱愛技術,熟悉各種常用開源框架,有豐富的大型分布式系統(tǒng)、高并發(fā)系統(tǒng)的開發(fā)經(jīng)驗。熱衷于對大數(shù)據(jù)的研究,對Hadoop、HBase以及ES有深入研究和理解。

【本文是51CTO專欄作者張開濤的原創(chuàng)文章,作者微信公眾號:開濤的博客,id:kaitao-1234567】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2017-08-07 09:39:52

HBase大數(shù)據(jù)存儲

2017-09-18 17:59:23

Hadoop數(shù)據(jù)分析

2021-09-06 15:39:00

大數(shù)據(jù)技術醫(yī)療

2018-09-04 12:03:31

HBase大數(shù)據(jù)存儲

2015-09-18 11:28:23

2017-11-27 13:00:19

京東

2020-12-21 14:42:42

大數(shù)據(jù)云計算人工智能

2019-03-27 15:35:35

大數(shù)據(jù)招聘互聯(lián)網(wǎng)

2015-05-13 15:15:16

HadoopHBaseMapReduce

2011-03-07 15:24:17

LBS

2012-10-23 09:32:07

2018-11-09 10:52:03

HBase應用場景

2018-03-20 10:37:33

存儲大數(shù)據(jù)管理

2023-07-19 16:22:00

Hudi機器學習

2017-03-08 10:29:06

HBase大數(shù)據(jù)存儲

2022-09-05 14:46:01

元宇宙區(qū)塊鏈人工智能

2021-05-10 15:40:11

大數(shù)據(jù)IT互聯(lián)網(wǎng)

2015-09-25 10:39:16

大數(shù)據(jù)工具應用場景

2017-01-22 16:25:01

大數(shù)據(jù)軟件工具應用場景

2019-12-06 13:55:28

人社部大數(shù)據(jù)應用場景
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线中文字幕视频 | 亚洲成人一区二区 | 国产精产国品一二三产区视频 | 亚洲美女一区 | 亚洲一区亚洲二区 | av黄色在线| 五月精品视频 | 亚洲免费人成在线视频观看 | 理论片午午伦夜理片影院 | 九一在线观看 | 91在线视频播放 | 四虎影音| 亚洲综合在线网 | 欧美日韩综合视频 | 欧美一区二区三区一在线观看 | 欧美日韩综合一区 | 国产精品国产三级国产aⅴ无密码 | 草草视频在线观看 | 麻豆成人在线视频 | 日韩毛片免费看 | 精品久久香蕉国产线看观看亚洲 | www.xxxx欧美 | 一区二区精品 | 九色视频网站 | 欧美精品一区免费 | 国产激情视频在线 | 免费精品| 精品国产一区二区国模嫣然 | 免费能直接在线观看黄的视频 | 亚洲男人天堂av | 欧美精品一区二区三区在线 | 精品欧美乱码久久久久久 | 性欧美xxxx| 成人精品在线观看 | 日韩高清不卡 | 福利视频网 | 久草成人网 | cao视频 | 午夜资源 | 蜜臀久久99精品久久久久野外 | 亚洲第一网站 |