欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

歡迎來到云服務器

大數(shù)據(jù)技術

如何使用HBase?大數(shù)據(jù)存儲的兩個實戰(zhàn)場景

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

為何使用HBase

HBase的優(yōu)點:

- 列可以動態(tài)增加,并且列為空就不存儲數(shù)據(jù),節(jié)省存儲空間。

- Hbase自動切分數(shù)據(jù),使得數(shù)據(jù)存儲自動具有水平scalability。

- Hbase可以提供高并發(fā)讀寫操作的支持。

如何使用HBase?大數(shù)據(jù)存儲的兩個實戰(zhàn)場景

HBase的缺點:

- 不能支持條件查詢,只支持按照Row key來查詢。

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

因為HBase存儲的是松散的數(shù)據(jù),所以如果你的應用程序中,數(shù)據(jù)表每一行的結構是有差別的,那么可以考慮使用HBase。因為HBase的列可以動態(tài)增加,并且列為空就不存儲數(shù)據(jù),所以如果你需要經常追加字段,且大部分字段是NULL值的,那可以考慮HBase。因為HBase可以根據(jù)Rowkey提供高效的查詢,所以如果你的數(shù)據(jù)(包括元數(shù)據(jù)、消息、二進制數(shù)據(jù)等)都有著同一個主鍵,或者你需要通過鍵來訪問和修改數(shù)據(jù)使用HBase是一個很好地選擇。

如何使用HBase

場景一:賣家操作日志

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

如何使用HBase?大數(shù)據(jù)存儲的兩個實戰(zhàn)場景

如何使用HBase?大數(shù)據(jù)存儲的兩個實戰(zhàn)場景

我們在做賣家操作日志初期,將所有的操作日志存放在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ù)存儲的兩個實戰(zhàn)場景

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

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

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時,要充分排序存儲這個特性,將經常一起讀取的行存儲到一起(位置相關性)。

Column Family

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

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

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

Time Stamp

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

簡述HBase的架構原理

1. HBase的模塊

如何使用HBase?大數(shù)據(jù)存儲的兩個實戰(zhàn)場景

Master

騰訊云代理

Copyright © 2003-2021 MFISP.COM. 國外vps服務器租用 夢飛云服務器租用 版權所有 ? 粵ICP備11019662號

主站蜘蛛池模板: 开江县| 梅河口市| 阿荣旗| 宜都市| 习水县| 景德镇市| 雅江县| 哈密市| 宝鸡市| 潼南县| 永登县| 韩城市| 遂昌县| 阜平县| 芦山县| 东丰县| 陇南市| 武汉市| 玛多县| 霞浦县| 马关县| 特克斯县| 黄陵县| 佛教| 成武县| 邯郸市| 比如县| 务川| 通辽市| 通榆县| 万载县| 广昌县| 临朐县| 温州市| 桦南县| 普洱| 望谟县| 铜梁县| 海门市| 伊宁县| 黄平县|