91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HBase數據模型的概念是什么

發布時間:2021-12-09 13:36:54 來源:億速云 閱讀:255 作者:iii 欄目:云計算

本篇內容主要講解“HBase數據模型的概念是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“HBase數據模型的概念是什么”吧!

簡介:

HBase(Hadoop Database):一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統,利用HBase技術可在廉價的PC Server上搭建起大規模機構化存儲集群。

HBase是一個山寨版本的BigTable,不過它站在Hadoop這個巨人的肩膀上!

HBase是一個非關系型數據庫(NoSQL數據庫)

 NoSQL關系型數據庫
數據模型適合結構化、非結構化和半結構化的數據適用于結構化的數據
擴展性易于擴展,如添加節點以及擴容            較難
語言不同數據庫操作不同標準SQL或類SQL
模式Schema隨時添加字段必須預先定義好,不方便擴展

HBase以表的形式存儲數據

表的特點:

  • 大:一個表可以有上億行,上百萬列

  • 面向列:面向列(族)的存儲和權限控制,列(族)獨立檢索

  • 稀疏:對于為null的列,并不占用存儲空間,因此,表可以設計的非常疏松

下圖是Hadoop生態系統:

HBase數據模型的概念是什么

HBase位于結構化存儲層;

Hadoop HDFS為HBase提供了高可靠性的底層存儲支持

Hadoop MapReduce為HBase提供了高性能的計算能力

Zookeeper為HBase提供了穩定服務和failover機制

此為,Pig和Hive還為HBase提供了高層語言支持,使得在HBase上進行數據統計處理變得非常簡單。Sqoop則為HBase提供了方便的RDBMS數據導入功能,使得傳統數據庫向HBase中遷移變的非常方便。

數據模型的關鍵概念:

  • RowKey:用來檢索記錄的主鍵。訪問HTable中的行,只有三種方式:

    • 通過單個rowkey訪問

    • 通過rowkey的range

    • 全表掃描

  • Qualifier:可動態擴展的列,不需要先定義到HTable schema中,類似于關系型數據庫中的列(Column)

  • Famliy:列族,相當于一個Family下面有多個Qualifier。TTL(留存期),Versions(最大版本數),Comperssion(壓縮方式)等待都是設置在這一級。

  • Version/Timestamp:由單一rowkey對應family:qualifier下的值可以允許有多個版本,由毫秒級的時間戳來區分,也可以制定范圍取任意版本對應的數據

  • Cell:存儲的最小單位。由rowkey+family:qualifier+timestamp三個維度唯一確定取出value

  • Namespace:表命名空間,不指定則為默認“default”空間

HTable系統表:

hbase:namespace:存儲htable的各表的命名空間

hbase:meta:存儲htable的各個region起止rowkey信息,位置信息等

hbase:ad:記錄一些表操作權限的信息,支持到qualifier的ACL,權限分類READ('R'),WRITE('W'),EXEC('X'),CREATE('C'),ADMIN('A') 

HBase存儲框架:

HBase數據模型的概念是什么

  • Zookeeper:HBase集群依賴該組件

    • Zookeeper Quorum存儲-ROOT-表地址、HMaster地址

    • HRegionServer把自己以Ephedral方式注冊到Zookeeper中,HMaster隨時感知各個HregionServer的健康情況

  • HMaster:主要負責Table和Region的管理工作

    • 管理用戶對表的增刪查改操作

    • 管理HRegionServer的負載均衡,調整Region分布

    • Region Split后,負責新Region的分布

    • 在HRegionServer停機后,負責失效HRegionServer上Region遷移

  • HRegionServer:最核心的模塊,主要負責相應用戶I/O請求,向HDFS文件系統中讀寫數據

    • HRegionServer管理一些列HRegion對象

    • 每個HRegion對應Table中一個Region,HRegion由多個HStore組成

    • 每個HStore對應Table中一個Column Family的存儲

    • Column Family就是一個集中的存儲單元,故將具有相同IO特性的Column放在一個Column Family會更高效

  • Region:當Table隨著記錄數不斷增加而變大后,會逐漸分裂成多份splits,成為regions,一個region由[startkey,endkey)表示,不同的region會被Master分配給相應的RegionServer進行管理

  • HStore:HBase存儲的核心。由MemStore和StoreFile組成,MemStore是Sorted Memory Buffer

  • HLog:在分布式系統環境中,無法避免系統出錯或者宕機,一旦HRegionServer意外退出,MemStore中的內存數據就會丟失,為防止數據丟失,引入了HLog。

    每次用戶操作寫入Memstore的同時,也會寫一份數據到HLog文件,HLog文件定期會滾動出新,并刪除舊的文件(已持久化到StoreFile中的數據)。當HRegionServer意外終止后,HMaster會通過Zookeeper感知,HMaster首先處理遺留的HLog文件,將不同region的log數據拆分,分別放到相應region目錄下,然后再將失效的region重新分配,領取到這些region的HRegionServer在Load Region的過程中,會發現有歷史HLog需要處理,因此會Replay HLog中的數據到MemStore中,然后flush到StoreFiles,完成數據恢復。

  • HDFS:HDFS是一個分布式文件系統。它通過將一個大的文件劃分成一個個固定大小的Block來實現分布式存儲。每一個Block的默認大小為128MB。每一個Block都存在多個備份,并且被部署在不同的數據節點上,來保障數據的安全。目前,HBase的所有底層數據都以文件的形式交由HDFS來存儲。HBase一側本身不固化保存數據信息

到此,相信大家對“HBase數據模型的概念是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万州区| 台南市| 河曲县| 合水县| 剑川县| 上高县| 太仓市| 卓资县| 和静县| 双牌县| 清水河县| 怀安县| 肇庆市| 鸡东县| 平泉县| 平邑县| 天全县| 和龙市| 大关县| 本溪| 彭泽县| 本溪市| 梅河口市| 玉山县| 杭锦后旗| 靖安县| 墨玉县| 平昌县| 衢州市| 尖扎县| 龙山县| 紫云| 咸丰县| 高邮市| 石家庄市| 车致| 扶沟县| 绍兴市| 绥宁县| 永寿县| 嘉兴市|