新聞中心
HBase是一個(gè)分布式型的NoSQL數(shù)據(jù)庫(kù),經(jīng)常用于大規(guī)模數(shù)據(jù)處理,例如數(shù)據(jù)存儲(chǔ),實(shí)時(shí)數(shù)據(jù)分析和處理等。HBase采用Hadoop文件系統(tǒng)(HDFS)作為底層存儲(chǔ),通過(guò)ZooKeeper進(jìn)行協(xié)調(diào)管理,可以通過(guò)對(duì)HBase數(shù)據(jù)庫(kù)進(jìn)行適當(dāng)?shù)墓芾?,提高系統(tǒng)的性能和可靠性。本文將介紹HBase數(shù)據(jù)庫(kù)的管理指南。

一、HBase環(huán)境搭建
需要完成Hadoop集群的部署,因?yàn)镠Base需要運(yùn)行在Hadoop的基礎(chǔ)之上。之后,需要下載并安裝HBase軟件包,配置文件包括hbase-env.sh、hbase-site.xml和regionservers等,需要根據(jù)實(shí)際需求進(jìn)行修改。
二、HBase的數(shù)據(jù)模型
HBase的數(shù)據(jù)模型是基于列族(column family)和行鍵(row key)的。列族是數(shù)據(jù)庫(kù)表的列,行鍵是表中的行。HBase的數(shù)據(jù)模型與關(guān)系數(shù)據(jù)庫(kù)不同,它采用稀疏矩陣的方式存儲(chǔ)數(shù)據(jù),一張表不用都具有相同的列。同時(shí),HBase還支持多版本數(shù)據(jù)存儲(chǔ),每次更新數(shù)據(jù)時(shí)都會(huì)生成一個(gè)新的版本。
三、HBase數(shù)據(jù)庫(kù)數(shù)據(jù)的管理
1. 表的創(chuàng)建和刪除
在HBase中創(chuàng)建表需要指定表的名稱(chēng)、列族的名稱(chēng)以及其他參數(shù),例如是否預(yù)分區(qū)等。通過(guò)HBase Shell可以完成這個(gè)操作:
$ create ‘test’, ‘cf1’
刪除表同樣也需要使用HBase Shell:
$ disable ‘test’
$ drop ‘test’
2. 行的創(chuàng)建、查詢(xún)、更新和刪除
行是HBase中的基本存儲(chǔ)單位,可以使用put和get命令分別進(jìn)行行的創(chuàng)建和查詢(xún):
$ put ‘test’, ‘row1’, ‘cf1:qual1’, ‘value1’
$ get ‘test’, ‘row1’
同樣地,可以使用delete命令刪除行:
$ delete ‘test’, ‘row1’
3. 增量備份和全量備份
對(duì)于HBase數(shù)據(jù)庫(kù)的備份,可以采用增量備份或全量備份的方式進(jìn)行。增量備份是指?jìng)浞輸?shù)據(jù)庫(kù)發(fā)生變化的那些數(shù)據(jù)塊,可以通過(guò)命令來(lái)手動(dòng)備份:
$ hbase backup incremental -backup_root hdfs://backup -set backup_id=19
全量備份則是備份整個(gè)HBase數(shù)據(jù)庫(kù),也可以通過(guò)命令手動(dòng)備份:
$ hbase backup create full hdfs://backup
四、HBase數(shù)據(jù)庫(kù)的優(yōu)化
為了提高HBase數(shù)據(jù)庫(kù)的性能,可以采用以下措施:
1. 增加Region服務(wù)器的數(shù)量
Region服務(wù)器是HBase負(fù)責(zé)存儲(chǔ)數(shù)據(jù)的實(shí)例,增加Region服務(wù)器的數(shù)量可以提高HBase系統(tǒng)的并發(fā)能力和容錯(cuò)性。
2. 預(yù)分區(qū)表
預(yù)分區(qū)表是指在創(chuàng)建表時(shí),將表分成多個(gè)區(qū)域(Region),每個(gè)區(qū)域可能包含不同的數(shù)據(jù)。這樣可以避免單個(gè)Region的數(shù)據(jù)量過(guò)大,提高查詢(xún)速度和負(fù)載均衡。
3. Rowkey的設(shè)計(jì)
Rowkey是HBase中行的唯一標(biāo)識(shí)符,好的Rowkey設(shè)計(jì)可以提高查詢(xún)速度和負(fù)載均衡。
4. 開(kāi)啟壓縮
HBase數(shù)據(jù)庫(kù)支持在寫(xiě)入和讀取數(shù)據(jù)時(shí)使用壓縮算法,可以減少磁盤(pán)的使用,提高讀寫(xiě)性能。
五、
本文介紹了HBase數(shù)據(jù)庫(kù)的管理指南,包括環(huán)境搭建、數(shù)據(jù)模型、數(shù)據(jù)管理、數(shù)據(jù)庫(kù)優(yōu)化等內(nèi)容。通過(guò)采用適當(dāng)?shù)墓芾砗蛢?yōu)化措施,可以提高HBase數(shù)據(jù)庫(kù)的性能和可靠性,有效處理大規(guī)模數(shù)據(jù)處理和實(shí)時(shí)數(shù)據(jù)分析和處理等任務(wù)。
相關(guān)問(wèn)題拓展閱讀:
- HBASE 1.0
HBASE 1.0
前身:BigTable
網(wǎng)頁(yè)搜索:
google分布式存儲(chǔ)系統(tǒng)BigTable依賴(lài)GFS
Hbase(bigtable的開(kāi)源實(shí)現(xiàn)): 高可靠、高性能、面向列、可伸縮
存儲(chǔ)結(jié)構(gòu)化和半結(jié)構(gòu)化的數(shù)據(jù)
優(yōu)點(diǎn):
水平可擴(kuò)展性特別好:
依賴(lài):
文件存儲(chǔ)系統(tǒng):HDFS
海量數(shù)據(jù)處理:MapReduce
協(xié)同管理服務(wù):Zookeeper
滿足了:大數(shù)據(jù)量的實(shí)時(shí)計(jì)算
數(shù)據(jù)類(lèi)型:
RDBMS:關(guān)系數(shù)據(jù)模型、多種數(shù)據(jù)類(lèi)型
Hbase:
數(shù)據(jù)操作:
存儲(chǔ)模式:
索引:
數(shù)據(jù)維護(hù):
可伸縮性:
縱向擴(kuò)展:
水平擴(kuò)展:
Hbase的訪問(wèn)接口:
拆局 JAVA API
shell
thrift Gateway
restful Gateway
SQL接口:pig編寫(xiě)類(lèi)sql hive用hivesql訪問(wèn)Hbase
Hbase的數(shù)據(jù)類(lèi)型:
列限定符
每個(gè)值都是未解釋的bytes
一個(gè)行可以有一個(gè)行鍵和多列
表由列族組成
Hbase數(shù)據(jù)模型:
列族支持動(dòng)態(tài)擴(kuò)展、保留舊版本(HDFS只能追加數(shù)據(jù))
基礎(chǔ)元素:
行鍵 : rowkey
列族
列限定敗燃符
單元格 (時(shí)間戳概念、對(duì)應(yīng)數(shù)據(jù)版本)
坐標(biāo)概念:
四維定位:行鍵、列族、列限定符、時(shí)間戳
稀疏表旅枯讓
HBASE:面向列的存儲(chǔ):高數(shù)據(jù)壓縮率、分析便捷
RDBMS :面向行存儲(chǔ),事務(wù)性操作(記錄完整)、不便于分析(需要全表掃描)
4.3 HBASE 的實(shí)現(xiàn)原理
4.3.1 庫(kù)函數(shù) 、master服務(wù)器、region服務(wù)器
Master服務(wù)器:
分區(qū)信息進(jìn)行維護(hù)和管理
維護(hù)region服務(wù)器列表
確認(rèn)當(dāng)前工作的region服務(wù)器
負(fù)責(zé)對(duì)region進(jìn)行分配和負(fù)載平衡
對(duì)表的增刪改查
region服務(wù)器:
客戶(hù)端不依賴(lài)于Master獲取位置信息
用戶(hù)數(shù)據(jù)的存儲(chǔ)和管理
Region服務(wù)器個(gè)region —–Store是一個(gè)列族—-每個(gè)列族就是一個(gè)Hfile—-所有region公用1個(gè)Hlog
寫(xiě)數(shù)據(jù)流程:Region服務(wù)器—寫(xiě)緩存Memstore—寫(xiě)日志(Hlog)
讀數(shù)據(jù)流程:Region服務(wù)器-讀緩存Memstore(最新數(shù)據(jù))—-StoreFile
緩存刷新:周期性將緩存內(nèi)容刷寫(xiě)到Storefile 清空緩存—Hlog寫(xiě)入標(biāo)記
每次刷寫(xiě)會(huì)生成新的StoreFile 每個(gè)Store包含多個(gè)StoreFile
每個(gè)Region服務(wù)器都有一個(gè)自己的Hlog,將啟動(dòng)檢查確認(rèn)緩存刷新是否有新的內(nèi)容需要刷寫(xiě),發(fā)現(xiàn)則刷寫(xiě)新的storefile,完成后刪除Hlog,開(kāi)始對(duì)外提供服務(wù)
Storefile的合并,storefile 的數(shù)量達(dá)到閾值后,會(huì)進(jìn)行合并。當(dāng)Storefile超過(guò)大小閾值則會(huì)觸發(fā)Region的分裂
4.4 Hlog的工作原理
Zookeeper負(fù)責(zé)監(jiān)聽(tīng)region服務(wù)器,由master處理故障,通過(guò)故障服務(wù)器的Hlog恢復(fù),按region切分Hlog,將region和對(duì)應(yīng)的Hlog分配到新的region服務(wù)器上
一個(gè)HBASE表會(huì)被劃分成多個(gè)Region(1G-2G 取決于服務(wù)器性能)
同一個(gè)region不會(huì)被拆分到不同服務(wù)器上
Region的尋找:
Meta表:regionID 服務(wù)器ID 存儲(chǔ)元數(shù)據(jù)
Root表:只有一個(gè)region
三級(jí)尋址:
zookeeper文件—root表-多個(gè)meta表–多個(gè)用戶(hù)數(shù)據(jù)表
客戶(hù)端會(huì)有Hbase三層尋址的緩存,調(diào)用訪問(wèn)Hbase的接口,緩存失效后,再次尋址
zookeeper決定master服務(wù)器,確保只有一個(gè)master
4.5 Hbase的應(yīng)用方案
性能優(yōu)化:
1)時(shí)間靠近存放—-將時(shí)間戳引入行鍵,使用Long.max-時(shí)間戳進(jìn)行排序
2)提升讀寫(xiě)性能,創(chuàng)建表時(shí)設(shè)置HcloumnDescriptor.setMemory=true,會(huì)將表放入內(nèi)存的緩存中
3)節(jié)省存儲(chǔ)·空間—-設(shè)置更大版本數(shù)、保存最新版的數(shù)據(jù),將更大版本參數(shù)設(shè)置為1
4)timetolive參數(shù),會(huì)將過(guò)期數(shù)據(jù)自動(dòng)清空
檢測(cè)Hbase性能:
Maste-status(web瀏覽器查詢(xún))
ganglia
OpenTSDB
Armbari
sql 查詢(xún)HBASE
1)hive整合hbase
2)Phoenix
Hbase 二級(jí)索引 (輔助索引)
默認(rèn)只支持對(duì)rowkey進(jìn)行索引
Hbase行訪問(wèn):
1)單行鍵訪問(wèn)
2)確定起點(diǎn)和終點(diǎn)訪問(wèn)區(qū)間數(shù)據(jù)
3)全表掃描
二級(jí)索引樣例:
Hindex Hbase+redis Solr+ Hbase
二級(jí)索引的機(jī)制:
Hbase Coprocessor
endpoint —存儲(chǔ)過(guò)程
observer—-觸發(fā)器
通過(guò)Observer監(jiān)測(cè)數(shù)據(jù)插入動(dòng)作,同步寫(xiě)入索引表,完成對(duì)表和列的索引
Hbase 主表 索引表
4.6 HBASE的shell命令
三種部署模式:?jiǎn)螜C(jī) 偽分布式 分布式
HDFS
創(chuàng)建表
create table, F1, F2, F3
list table
每次只能為1行的1列添加數(shù)據(jù)
put table R1,R1:C1 ,“1,2,3”
scan table R1,{column=’R1:C1′}
get table
刪除表:
disable table +drop table
4.7 JAVA API +HBASE
關(guān)于hbase數(shù)據(jù)庫(kù)管理的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專(zhuān)業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
分享題目:HBase數(shù)據(jù)庫(kù)管理指南(hbase數(shù)據(jù)庫(kù)管理)
標(biāo)題URL:http://www.5511xx.com/article/copsgdd.html


咨詢(xún)
建站咨詢(xún)
