真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

好程序員大數(shù)據(jù)學(xué)習(xí)路線Hbase總結(jié)

好程序員大數(shù)據(jù)學(xué)習(xí)路線Hbase總結(jié),為什么有hbase

成都創(chuàng)新互聯(lián)公司從2013年開始,先為趙縣等服務(wù)建站,趙縣等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為趙縣企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

隨著數(shù)據(jù)的逐漸增大,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫無法滿足對數(shù)據(jù)的查詢和存儲,而hive不是數(shù)據(jù)庫,只是數(shù)據(jù)倉庫,雖然能夠滿足簡單的存儲要求,但是始終無法滿足對非結(jié)構(gòu)化和半結(jié)構(gòu)化的數(shù)據(jù)的存儲和查詢

?

2hbase是什么

Hbase是阿帕奇旗下的一款開源的,多版本的,可擴(kuò)展的非關(guān)系型數(shù)據(jù)庫。

他是基于谷歌的bigtable的基礎(chǔ)上,建立在hdfs上的一款提供高?可靠性的,高性能的列式存儲,可伸縮,實(shí)時(shí)讀寫的NOSQL的數(shù)據(jù)庫系統(tǒng)

?

3適用場景

?????海量數(shù)據(jù)存儲

?????隨機(jī)實(shí)時(shí)讀寫和管理數(shù)據(jù)

?

4特點(diǎn)

??????列式存儲

??????模式:無模式(不需要use gp1808,就可以直接創(chuàng)建表了,所以導(dǎo)致hbase中的表是不可以重名的)

??????數(shù)據(jù)類型:單一的byte[]

??????多版本(version):每個(gè)值都可以有多個(gè)版本

??????稀疏存儲:如果kv為null,則不占用存儲空間

?

5結(jié)構(gòu)框架

?

Client:

hbase的客戶端,包含訪問的hbase的接口(linux shell ,java api)

?????維護(hù)一些cache(緩存)來加速hbase的速度,比如region的位置信息

?

Zookeeper:

好程序員大數(shù)據(jù)學(xué)習(xí)路線Hbase總結(jié)

???????監(jiān)控hmaster的狀態(tài),保證有且只有一個(gè)active的hmaster,達(dá)到高可用

???????存儲所有的region的尋址入口,

???????實(shí)時(shí)監(jiān)控hregionserver的狀態(tài),將regionserrver的上下線信息實(shí)時(shí)通知給hmaster

???????存儲hbase的所有表的信息(hbase的元數(shù)據(jù))

?

Hmster(hbase的老大)

?????為regionserver分配region(新建表)

?????負(fù)責(zé)regionserver的負(fù)載均衡

?????負(fù)責(zé)region的重新分配(處理hregionserver異常,hregion裂變)

?????Hdfs上的垃圾文件回收

?????處理schema的更新請求

?

Hregionserver(hbase的小弟) ??

?????維護(hù)老大給他的region(管理本機(jī)上的region)

?????處理client對region的IO請求,并和hdfs交互

?????Regionserver負(fù)責(zé)切分在運(yùn)行過程中變大的region

?

Hregion:

?????Hbase中分布式的存儲和負(fù)載的最小單元,表或者是表的一部分

(在HBase中數(shù)據(jù)按主鍵排序,同時(shí)表按主鍵劃分為多個(gè)Region

Region按大小分割的,隨著數(shù)據(jù)增多,Region不斷增大,當(dāng)增大到一個(gè)閥值的Region就會分成兩個(gè)新的Region)

  Region雖然是分布式存儲的最小單元,但并不是存儲的最小單元。每個(gè)Region包含著多個(gè)Store對象。每個(gè)Store包含一個(gè)MemStore或若干StoreFile,StoreFile包含一個(gè)或多個(gè)HFile。MemStore存放在內(nèi)存中,StoreFile存儲在HDFS上。

Hlog;

?????對hbase的操作進(jìn)行記錄,使用wal(Write-Ahead-Log)寫數(shù)據(jù),優(yōu)先寫入log,然后再寫入memstore,以防數(shù)據(jù)丟失時(shí)可以進(jìn)行日志回滾回復(fù)數(shù)據(jù)

Store:

??????相當(dāng)于一個(gè)列簇。

?

Memstore:128M

???????內(nèi)存緩沖區(qū),用于將數(shù)據(jù)批量刷新到hdfs上

?

Hstorefile(hfile)

???????Hbase中的數(shù)據(jù)是以hfile的形式存儲到hdfs上

?????

好程序員大數(shù)據(jù)學(xué)習(xí)路線Hbase總結(jié)

寫流程:

1client通過zookeeper的調(diào)度,向regionserver發(fā)出寫數(shù)據(jù)請求,在region中寫數(shù)據(jù)

2數(shù)據(jù)被寫入region的memstore,直達(dá)memstore達(dá)到預(yù)設(shè)的閾值(128M)

3memstore中的數(shù)據(jù)被flush成一個(gè)storefile

4隨著storefile文件的不斷增多,當(dāng)其數(shù)量增長到一定閾值的時(shí)候,觸發(fā)了compact合并操作,將多個(gè)storefile合并成一個(gè)storefile,同時(shí)進(jìn)行版本合并和數(shù)據(jù)刪除

5storefiles通過不斷的compact合并操作,逐漸形成越來越大的storefile

6單個(gè)storefile大小超過一定閾值之后,觸發(fā)spilt操作,把當(dāng)前的region切分成2個(gè)新的region,父region會下線,新切出的2個(gè)字region會被hmaster分配到相應(yīng)的regionserver上,使得原先的一個(gè)region的壓力的以分配到2個(gè)region上

?

讀流程:

1client訪問zookeeper,查找root表,獲取meta表的信息

2從meta表中查找,獲取存放的目標(biāo)的region信息,從而找到對應(yīng)的regionserver

3通過regionserver獲取需要查詢的數(shù)據(jù)

4regionserver的內(nèi)存分為memstore和blockcache兩部分,memstore主要用于寫數(shù)據(jù),blockcache主要用于讀數(shù)據(jù),請求先到memstore中查數(shù)據(jù),查不到就在blockcache在查,再查不到就會到storefile上讀,并把讀的結(jié)果放入blockcache

?

尋址過程:client-->Zookeeper-->-ROOT-表-->.META.表-->RegionServer-->Region-->client

好程序員大數(shù)據(jù)學(xué)習(xí)路線Hbase總結(jié)

Rowkey:行鍵,和MySQL的主鍵一樣,不允許重復(fù),按照字典順序排列

Columnfamily:列簇

Column:列

Timestamp:時(shí)間戳,默認(rèn)顯示最新的時(shí)間戳

Version:版本號,記錄數(shù)據(jù)的版本

Cell:單元格,一個(gè)key?一個(gè)value


本文名稱:好程序員大數(shù)據(jù)學(xué)習(xí)路線Hbase總結(jié)
轉(zhuǎn)載來源:http://weahome.cn/article/iiecig.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部