中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

HBase入門修行基礎篇

發布時間:2020-07-12 06:49:17 來源:網絡 閱讀:1469 作者:飛魚之戀 欄目:數據庫

HBase入門修行基礎篇

 HBase是一個分布式的、面向列的開源數據庫,該技術來源于 Fay Chang 所撰寫的Google論文“Bigtable:一個結構化數據的分布式存儲系統。就像Bigtable利用了Google文件系統(File System)所提供的分布式數據存儲一樣,HBaseHadoop之上提供了類似于Bigtable的能力。HBaseApacheHadoop項目的子項目。HBase不同于一般的關系數據庫,它是一個適合于非結構化數據存儲的數據庫。另一個不同的是HBase基于列的而不是基于行的模式。

一、Hbase獲取查詢條件結果的過

HBase入門修行基礎篇

1兩張特殊表:-ROOT- & .META.

    .META.   記錄用戶表的Region信息,同時,.META.也可以有多個region

    -ROOT-    記錄.META.表的Region信息,但是,-ROOT-只有一個region

    Zookeeper  中記錄了-ROOT-表的location

2、客戶端訪問數據的流程:

    Client -> Zookeeper -> -ROOT- -> .META. -> 用戶數據表

3多次網絡操作,不過client端有cache緩存

二、Hbase架構

HBase入門修行基礎篇

 

組成部件說明

1Client

使用HBase RPC機制與HMasterHRegionServer進行通信

ClientHMaster進行通信進行管理類操作

ClientHRegionServer進行數據讀寫類操作

2Zookeeper

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

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

Zookeeper避免HMaster單點問題

3HMaster

HMaster沒有單點問題,HBase中可以啟動多個HMaster,通過ZookeeperMaster Election機制保證總有一個Master在運行主要負責TableRegion的管理工作:

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

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

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

3.4 HRegionServer停機后,負責失效HRegionServerRegion遷移

4HRegionServer

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

任何一項新技術并非救命稻草,一抹一擦立馬藥到病除的百寶箱,并非使用Spring或者NOSQL的產品就神乎其神+五光十色,如果那樣基本是扯淡。同類型產品中不管那種技術最終要達到的目的是一樣的,通過新的技術手段你往往可能避諱了當前你所需要面對的問題,但過后新的問題又來了。也許回過頭來看看還不如在原來的基礎上多動動腦筋想想辦法做些改良可以得到更高的回報。

傳統數據庫是以數據塊來存儲數據,簡單來說,你的表字段越多,占用的數據空間就越多,那么查詢有可能就要跨數據塊,將會導致查詢的速度變慢。在大型系統中一張表上百個字段,并且表中的數據上億條這是完全是有可能的。因此會帶來數據庫查詢的瓶頸。我們都知道一個常識數據庫中表記錄的多少對查詢的性能有非常大的影響,此時你很有可能想到分表、分庫的做法來分載數據庫運算的壓力,那么又會帶來新的問題,例如:分布式事務、全局唯一ID的生成、跨數據庫查詢等,依舊會讓你面對棘手的問題。如果打破這種按照行存儲的模式,采用一種基于列存儲的模式,對于大規模數據場景這樣情況有可能發生一些好轉。由于查詢中的選擇規則是通過列來定義的,因此整個數據庫是自動索引化的。按列存儲每個字段的數據聚集存儲,可以動態增加,并且列為空就不存儲數據,節省存儲空間。每個字段的數據按照聚集存儲,能大大減少讀取的數據量,查詢時指哪打哪,來的更直接。無需考慮分庫、分表 Hbase將對存儲的數據自動切分數據,并支持高并發讀寫操作,使得海量數據存儲自動具有更強的擴展性。Java中的HashMap是Key/Value的結構,你也可以把HBase的數據結構看做是一個Key/Value的體系,話說HBase的區域由表名和行界定的。在HBase區域每一個"列族"都由一個名為HStore的對象管理。每個HStore由一個或多個MapFiles(Hadoop中的一個文件類型)組成。MapFiles的概念類似于Google的SSTable。 在Hbase里面有以下兩個主要的概念,Row key 和 Column Family,其次是Cell qualifier和Timestamp tuple,Column family我們通常稱之為“列族”,訪問控制、磁盤和內存的使用統計都是在列族層面進行的。列族Column family是之前預先定義好的數據模型,每一個Column Family都可以根據“限定符”有多個column。在HBase每個cell存儲單元對同一份數據有多個版本,根據唯一的時間戳來區分每個版本之間的差異,最新的數據版本排在最前面 。

以上為Hbase的基本需要掌握的知識點。


向AI問一下細節
推薦閱讀:
  1. HBase入門
  2. redis基礎篇

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

AI

昭通市| 长宁县| 南木林县| 孙吴县| 桂东县| 兴化市| 盈江县| 墨竹工卡县| 洪洞县| 吉林省| 佛坪县| 鄱阳县| 绥阳县| 乌拉特后旗| 修文县| 视频| 当涂县| 仁化县| 华阴市| 磴口县| 上栗县| 青阳县| 宝丰县| 平原县| 南雄市| 金坛市| 科技| 临泽县| 凌云县| 临邑县| 保定市| 白水县| 安岳县| 商水县| 平遥县| 云龙县| 泰顺县| 凤翔县| 康保县| 九江县| 景洪市|