日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hbase 概念

發(fā)布時(shí)間:2023/12/18 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hbase 概念 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在hbase里面有幾個(gè)通俗的名稱會(huì)經(jīng)常出現(xiàn)

1)Hregion = region

2)Hregionserver = regionserver

3)Hmaster = master

4)Hmamstore = memstore

5)Hfile = storeFile

?

1、什么是hbase?

1)它是基于稀疏的、分布式的、持久化的、多維有序映射,它基于行健、列簇、時(shí)間戳建立索引

2)構(gòu)建在hdfs之上的分布式列式鍵值存儲(chǔ)系統(tǒng),hbase內(nèi)部管理的文件存儲(chǔ)在hdfs中。

??

2、有什么特點(diǎn)?

1)不介意數(shù)據(jù)類型,允許動(dòng)態(tài)的、靈活的數(shù)據(jù)模型,并不限制存儲(chǔ)數(shù)據(jù)的種類。因此他可以自如的存儲(chǔ)結(jié)構(gòu)化和半結(jié)構(gòu)化的數(shù)據(jù)。

2)它不要sql語音,不強(qiáng)調(diào)數(shù)據(jù)之間的關(guān)系

3)它不允許跨行的事物,可以在一行的某一列存儲(chǔ)一個(gè)整數(shù),而在另一行的同一列存儲(chǔ)一個(gè)字符串

4)它被設(shè)計(jì)在一個(gè)服務(wù)器集群上運(yùn)行,而不是單臺(tái)服務(wù)器。這就意味著是一種強(qiáng)大的、可擴(kuò)展的數(shù)據(jù)使用方式。

?

3、列式存儲(chǔ)

列式存儲(chǔ)的基礎(chǔ):對(duì)于特定的查詢,不是所有的值都是必須的。

1)以列為單位聚合數(shù)據(jù),然后將列值順序的存入磁盤

2)數(shù)據(jù)類型一致,數(shù)據(jù)特征相似,更利于壓縮

3)大量降低系統(tǒng)I/O

?

?

4、HBASE特性

1)容量巨大:單表可以有百億行,百萬列

2)面向列

3)稀疏性:空值不占用存儲(chǔ)空間

4)擴(kuò)展性:由hdfs決定,熱擴(kuò)展

5)高可用性:WAL和Replication機(jī)制;hdfs;zookeeper

6)共性能:LSM數(shù)據(jù)結(jié)構(gòu);Rowkey有序排列

7)無模式

8)數(shù)據(jù)多版本

9)數(shù)據(jù)類型單一

10)TTL

?

5、client

1)包含訪問hbase的接口,并維護(hù)cache來加快對(duì)hbase的訪問

2)通過rpc機(jī)制和master,region server通信

?

6、zookeeper

1)保證任何時(shí)候,集群中只有一個(gè)master

2)存儲(chǔ)所有region的尋址入口

3)實(shí)時(shí)監(jiān)控region server的上下線信息。并通知給master

4)存儲(chǔ)hbase元數(shù)據(jù)信息

5)hbase中可以啟動(dòng)多個(gè)Hmaster,通過zookeeper的master election機(jī)制保證總有一個(gè)master運(yùn)行

?

7、HMaster主要負(fù)責(zé):table、region管理工作

1)管理用戶對(duì)table的增刪改查

2)管理regionserver的負(fù)載均衡,跳轉(zhuǎn)region分布

3)在region分裂后,負(fù)責(zé)新region的分配

4)在regionserver死機(jī)后,負(fù)責(zé)失效regionserver上的region遷移

?

(由于master只維護(hù)表和region的元數(shù)據(jù),而不參與表數(shù)據(jù)IO的過程,master下線僅導(dǎo)致所有元數(shù)據(jù)的修改被凍結(jié)(無法創(chuàng)建刪除表,無法修改表的schema,無法進(jìn)行region的負(fù)載均衡,無法處理region上下線,無法進(jìn)行region的合并,唯一例外的是region的split可以正常進(jìn)行,因?yàn)橹挥衦egion server參與),表的數(shù)據(jù)讀寫還可以正常進(jìn)行。

因此master下線短時(shí)間內(nèi)對(duì)整個(gè)hbase集群沒有影響。)

?

8、regionserver:主要負(fù)責(zé)響應(yīng)用戶I/O請(qǐng)求,向hdfs文件系統(tǒng)中讀寫數(shù)據(jù)

1)管理了一系列Hregion對(duì)象,每個(gè)Hregion對(duì)應(yīng)了table中的region

2)Hregion由多個(gè)Hstore組成,每個(gè)Hstore對(duì)應(yīng)了table中的一個(gè)column Family的存儲(chǔ)

每個(gè)column Family其實(shí)就是一個(gè)集中的存儲(chǔ)單位,簡稱Hstore

3)regionserver維護(hù)region,處理對(duì)這些region的IO請(qǐng)求

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

5)regionserver提供行級(jí)鎖

?

注:

1)Hregionserver:Hregion:Hstore = Column Family

2)Hstore:

- memStore:用戶首先先寫入MemStore。(flush操作)

- StoreFile:Hfile(compact合并,split操作)

3)hbase只有增加數(shù)據(jù),所有更新和刪除都是在compact過程中進(jìn)行的。

4)用戶寫操作只要寫入內(nèi)存就可以立即返回,保證I/O高性能

5)同一臺(tái)rs上的所有region共享相同的Hlog Files

6)每個(gè)update(或者說edit)都會(huì)被寫到log,當(dāng)通知客戶端成功后,rs把數(shù)據(jù)再加載到內(nèi)存中。

?

9、region是什么?

1)region按大小分割的,每個(gè)表開始只有一個(gè)region,隨著數(shù)據(jù)增多,region不斷增大,當(dāng)增大到一個(gè)閥值的時(shí)候,region就會(huì)等分兩個(gè)新的region,只會(huì)就會(huì)越來越多。

2)本質(zhì)上是以行鍵排序的連續(xù)存儲(chǔ)的區(qū)間

3)region最佳大小:1GB~2GB

4)regionserver:10~1000個(gè)region

5)不同的region分布到不同regionserver上

6)每個(gè)Hregion保存某段連續(xù)的數(shù)據(jù),從開始主鍵(startRow)到結(jié)束主鍵(endRow),通過Hregion從Hadoop的分布式文件系統(tǒng)上數(shù)據(jù)

?

region雖然是分布存儲(chǔ)的最小單位,但并不是存儲(chǔ)的最小單位

1)一個(gè)region由一個(gè)或者多個(gè)store組成,每個(gè)store保存一個(gè) columns family

2)每個(gè)store又由一個(gè)memstore和0個(gè)至多個(gè)storeFile組成

3)memstore存儲(chǔ)在內(nèi)存中,storeFile存儲(chǔ)在hdfs上

?

?

10、Hstore是什么?

Hstore:Hstore存儲(chǔ)是Hbase存儲(chǔ)的核心,由memstore和storeFile組成。

1)Hmemcache:內(nèi)存中的緩存,保存著最近更新的數(shù)據(jù),如果Hmemcache沒有數(shù)據(jù),將從hstores獲取磁盤上的數(shù)據(jù),每個(gè)列簇會(huì)有一個(gè)hstore集合,每個(gè)集合包含多個(gè)Hstorefiles文件(b+數(shù)結(jié)構(gòu))

2)Hregion定期調(diào)用flushcache()緩存里的內(nèi)容寫入到文件中,每次調(diào)用產(chǎn)生一個(gè)新的文件Hstorefile文件,從一個(gè)hstore或數(shù)據(jù)會(huì)訪問所有的Hstotefile,很耗時(shí),hstore.compact可以完成小文件到達(dá)文件的合并

?

11、Hlog是什么?

磁盤上的操作記錄文件,記錄這所有的更新操作,數(shù)據(jù)寫入Hlog后,commit()調(diào)用才會(huì)返回給客戶端。

數(shù)據(jù)的更新操作最先被記錄在Hmemcache和Hlog中

?

12、Row key

行鍵,table的主鍵,Table中的記錄按照Row key排序。類型為Byte array

1)不宜過長

2)分布均勻

?

13、Column Family

列族,table水平方向有一個(gè)或者多個(gè)Column Family組成,一個(gè)Column Family中可以由任意多個(gè)Column組成

?

14、Cloumn

列 格式為:familyName:columnName

列名稱是編碼在cell中的

不同的cell可以擁有不同的列

?

15、Version Number

版本號(hào)。默認(rèn)值是時(shí)間戳。類型為long

?

16、Value(Cell)

具體的值。類型為Byte array

?

轉(zhuǎn)載于:https://www.cnblogs.com/gentlemanhai/p/10354550.html

總結(jié)

以上是生活随笔為你收集整理的hbase 概念的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。