一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

BigData之Hbase:Hbase數(shù)據(jù)管理的簡(jiǎn)介、下載、案例應(yīng)用之詳細(xì)攻略

 處女座的程序猿 2021-09-28

BigData之Hbase:Hbase數(shù)據(jù)管理的簡(jiǎn)介、下載、案例應(yīng)用之詳細(xì)攻略


Hbase數(shù)據(jù)管理的簡(jiǎn)介——基于Hadoop的非結(jié)構(gòu)化、基于列的數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫(kù)

? ? ? ? HBase – Hadoop Database,是一個(gè)高可靠性、高性能、面向列、可伸縮的分布式存儲(chǔ)系統(tǒng),利用HBase技術(shù)可在廉價(jià)PC Server上搭建起大規(guī)模結(jié)構(gòu)存儲(chǔ)集群。

  • HBase利用Hadoop HDFS作為其文件存儲(chǔ)系統(tǒng)
  • Google運(yùn)行MapReduce來(lái)處理Bigtable中的海量數(shù)據(jù),HBase同樣利用Hadoop MapReduce來(lái)處理HBase中的海量數(shù)據(jù)
  • Google Bigtable利用 Chubby作為協(xié)同服務(wù),HBase利用Zookeeper作為對(duì)應(yīng)。

? ? ? ? HBase是一個(gè)分布式的、面向列的開(kāi)源數(shù)據(jù)庫(kù),該技術(shù)來(lái)源于 Fay Chang 所撰寫(xiě)的Google論文“Bigtable:一個(gè)結(jié)構(gòu)化數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)”。就像Bigtable利用了Google文件系統(tǒng)(File System)所提供的分布式數(shù)據(jù)存儲(chǔ)一樣,HBase在Hadoop之上提供了類(lèi)似于Bigtable的能力。HBase是Apache的Hadoop項(xiàng)目的子項(xiàng)目。HBase不同于一般的關(guān)系數(shù)據(jù)庫(kù),它是一個(gè)適合于非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫(kù)。另一個(gè)不同的是HBase基于列的而不是基于行的模式。
? ? ? Hbase是一種No SQL數(shù)據(jù)庫(kù),這意味著它不像傳統(tǒng)的RDBMS數(shù)據(jù)庫(kù)那樣支持SQL作為查詢(xún)語(yǔ)言。Hbase是一種分布式存儲(chǔ)的數(shù)據(jù)庫(kù),技術(shù)上來(lái)講,它更像是分布式存儲(chǔ)而不是分布式數(shù)據(jù)庫(kù)。

  • Hadoop HDFSHBase提供了高可靠性的底層存儲(chǔ)支持;
  • Hadoop MapReduceHBase提供了高性能的計(jì)算能力;
  • ZookeeperHBase提供了穩(wěn)定服務(wù)和failover機(jī)制。

1、HBase的架構(gòu)體現(xiàn)及與HDFS、MapReduce、Zookeeper之間關(guān)系

? ? ? ? ?HBase位于結(jié)構(gòu)化存儲(chǔ)層。Hadoop HDFS為HBase提供了高可靠性的底層存儲(chǔ)支持,Hadoop MapReduce為HBase提供了高性能的計(jì)算能力,Zookeeper為HBase提供了穩(wěn)定服務(wù)和failover機(jī)制。

  • Zookeeper,作為分布式的協(xié)調(diào)。RegionServer也會(huì)把自己的信息寫(xiě)到ZooKeeper中。
  • HDFS是Hbase運(yùn)行的底層文件系統(tǒng)
  • RegionServer,理解為數(shù)據(jù)節(jié)點(diǎn),存儲(chǔ)數(shù)據(jù)的。
  • Master RegionServer要實(shí)時(shí)的向Master報(bào)告信息。Master知道全局的RegionServer運(yùn)行情況,可以控制RegionServer的故障轉(zhuǎn)移和Region的切分。

2、Hbase的訪問(wèn)接口

  • (1)、Native Java API,最常規(guī)和高效的訪問(wèn)方式,適合Hadoop MapReduce Job并行批處理HBase表數(shù)據(jù)。
  • (2)、HBase Shell,HBase的命令行工具,最簡(jiǎn)單的接口,適合HBase管理使用。
  • (3)、Thrift Gateway,利用Thrift序列化技術(shù),支持C++,PHP,Python等多種語(yǔ)言,適合其他異構(gòu)系統(tǒng)在線訪問(wèn)HBase表數(shù)據(jù)。
  • (4)、REST Gateway,支持REST 風(fēng)格的Http API訪問(wèn)HBase, 解除了語(yǔ)言限制。
  • (5)、Pig,可以使用Pig Latin流式編程語(yǔ)言來(lái)操作HBase中的數(shù)據(jù),和Hive類(lèi)似,本質(zhì)最終也是編譯成MapReduce Job來(lái)處理HBase表數(shù)據(jù),適合做數(shù)據(jù)統(tǒng)計(jì)。
  • (6)、Hive,當(dāng)前Hive的Release版本尚沒(méi)有加入對(duì)HBase的支持,但在下一個(gè)版本Hive 0.7.0中將會(huì)支持HBase,可以使用類(lèi)似SQL語(yǔ)言來(lái)訪問(wèn)HBase。

3、HBase中的所有數(shù)據(jù)文件都存儲(chǔ)在Hadoop HDFS文件系統(tǒng)上,主要包括上述提出的兩種文件類(lèi)型:

  • (1)、HFile, HBase中KeyValue數(shù)據(jù)的存儲(chǔ)格式,HFile是Hadoop的二進(jìn)制格式文件,實(shí)際上StoreFile就是對(duì)HFile做了輕量級(jí)包裝,即StoreFile底層就是HFile
  • (2)、HLog File,HBase中WAL(Write Ahead Log) 的存儲(chǔ)格式,物理上是Hadoop的Sequence File。

4、Hbase與傳統(tǒng)的mysql、oracle的差別——列式數(shù)據(jù)與行式數(shù)據(jù)的區(qū)別——NoSql數(shù)據(jù)庫(kù)與傳統(tǒng)關(guān)系型數(shù)據(jù)的區(qū)別

參考文章https://blog.csdn.net/yczws1/article/details/19178265#1536434-tsina-1-98976-66a1f5d8f89e9ad52626f6f40fdeadaa

4.1、Hbase VS Oracle

  • (1)、Hbase適合大量插入同時(shí)又有讀的情況。輸入一個(gè)Key獲取一個(gè)value或輸入一些key獲得一些value。
  • (2)、Hbase的瓶頸是硬盤(pán)傳輸速度。Hbase的操作,它可以往數(shù)據(jù)里面insert,也可以u(píng)pdate一些數(shù)據(jù),但update的實(shí)際上也是insert,只是插入一個(gè)新的時(shí)間戳的一行。Delete數(shù)據(jù),也是insert,只是insert一行帶有delete標(biāo)記的一行。
    ? ? ? ?Hbase的所有操作都是追加插入操作。Hbase是一種日志集數(shù)據(jù)庫(kù)。它的存儲(chǔ)方式,像是日志文件一樣。它是批量大量的往硬盤(pán)中寫(xiě),通常都是以文件形式的讀寫(xiě)。這個(gè)讀寫(xiě)速度,就取決于硬盤(pán)與機(jī)器之間的傳輸有多快。
    ? ? ? ??而Oracle的瓶頸是硬盤(pán)尋道時(shí)間。它經(jīng)常的操作時(shí)隨機(jī)讀寫(xiě)。要update一個(gè)數(shù)據(jù),先要在硬盤(pán)中找到這個(gè)block,然后把它讀入內(nèi)存,在內(nèi)存中的緩存中修改,過(guò)段時(shí)間再回寫(xiě)回去。由于你尋找的block不同,這就存在一個(gè)隨機(jī)的讀。硬盤(pán)的尋道時(shí)間主要由轉(zhuǎn)速來(lái)決定的。而尋道時(shí)間,技術(shù)基本沒(méi)有改變,這就形成了尋道時(shí)間瓶頸。
  • (3)、Hbase中數(shù)據(jù)可以保存許多不同時(shí)間戳的版本(即同一數(shù)據(jù)可以復(fù)制許多不同的版本,準(zhǔn)許數(shù)據(jù)冗余,也是優(yōu)勢(shì))。數(shù)據(jù)按時(shí)間排序,因此Hbase特別適合尋找按照時(shí)間排序?qū)ふ襎op n的場(chǎng)景。找出某個(gè)人最近瀏覽的消息,最近寫(xiě)的N篇博客,N種行為等等,因此Hbase在互聯(lián)網(wǎng)應(yīng)用非常多。
  • (4)、Hbase的局限是只能做很簡(jiǎn)單的Key-value查詢(xún)。它適合有高速插入,同時(shí)又有大量讀的操作場(chǎng)景。而這種場(chǎng)景又很極端,并不是每一個(gè)公司都有這種需求。在一些公司,就是普通的OLTP(聯(lián)機(jī)事務(wù)處理)隨機(jī)讀寫(xiě)。在這種情況下,Oracle的可靠性,系統(tǒng)的負(fù)責(zé)程度又比Hbase低一些。而且Hbase局限還在于它只有主鍵索引,因此在建模的時(shí)候就遇到了問(wèn)題。比如,在一張表中,很多的列我都想做某種條件的查詢(xún)。但卻只能在主鍵上建快速查詢(xún)。所以說(shuō),不能籠統(tǒng)的說(shuō)那種技術(shù)有優(yōu)勢(shì)。
  • (5)、Oracle是行式數(shù)據(jù)庫(kù),而Hbase是列式數(shù)據(jù)庫(kù)。列式數(shù)據(jù)庫(kù)的優(yōu)勢(shì)在于數(shù)據(jù)分析這種場(chǎng)景。數(shù)據(jù)分析與傳統(tǒng)的OLTP的區(qū)別。數(shù)據(jù)分析,經(jīng)常是以某個(gè)列作為查詢(xún)條件,返回的結(jié)果也經(jīng)常是某一些列,不是全部的列。在這種情況下,行式數(shù)據(jù)庫(kù)反應(yīng)的性能就很低效。

4.2、列式數(shù)據(jù)庫(kù)(Hbase) VS 行式數(shù)據(jù)庫(kù)(Oracle)

  • 列式數(shù)據(jù)庫(kù):是以列作為元素存儲(chǔ)的。同一個(gè)列的元素會(huì)擠在一個(gè)塊。當(dāng)要讀某些列,只需要把相關(guān)的列塊讀到內(nèi)存中,這樣讀的IO量就會(huì)少很多。通常,同一個(gè)列的數(shù)據(jù)元素通常格式都是相近的。這就意味著,當(dāng)數(shù)據(jù)格式相近的時(shí)候,數(shù)據(jù)就可以做大幅度的壓縮。所以,列式數(shù)據(jù)庫(kù)在數(shù)據(jù)壓縮方面有很大的優(yōu)勢(shì),壓縮不僅節(jié)省了存儲(chǔ)空間,同時(shí)也節(jié)省了IO。(這一點(diǎn),可利用在當(dāng)數(shù)據(jù)達(dá)到百萬(wàn)、千萬(wàn)級(jí)別以后,數(shù)據(jù)查詢(xún)之間的優(yōu)化,提高性能,示場(chǎng)景而定)
  • 行式數(shù)據(jù)庫(kù):Oracle為例,數(shù)據(jù)文件的基本組成單位:塊/頁(yè)。塊中數(shù)據(jù)是按照一行行寫(xiě)入的。這就存在一個(gè)問(wèn)題,當(dāng)我們要讀一個(gè)塊中的某些列的時(shí)候,不能只讀這些列,必須把這個(gè)塊整個(gè)的讀入內(nèi)存中,再把這些列的內(nèi)容讀出來(lái)。換句話(huà)就是:為了讀表中的某些列,必須要把整個(gè)表的行全部讀完,才能讀到這些列。這就是行數(shù)據(jù)庫(kù)最糟糕的地方。

5、什么時(shí)候使用Hbase?

Hbase不適合解決所有的問(wèn)題:

  • 適合數(shù)據(jù)庫(kù)量要足夠多的場(chǎng)景——盡可能使所有機(jī)器高效利用如果有十億及百億行數(shù)據(jù),那么Hbase是一個(gè)很好的選項(xiàng)。如果只有幾百萬(wàn)行甚至不到的數(shù)據(jù)量,RDBMS是一個(gè)很好的選擇。因?yàn)閿?shù)據(jù)量小的話(huà),真正能工作的機(jī)器量少,剩余的機(jī)器都處于空閑的狀態(tài)。
  • 適合不需要輔助索引,靜態(tài)類(lèi)型的列,事務(wù)等特性的場(chǎng)景。一個(gè)已經(jīng)用RDBMS的系統(tǒng)想要切換到Hbase,則需要重新設(shè)計(jì)系統(tǒng)。
  • 保證硬件資源足夠,每個(gè)HDFS集群在少于5個(gè)節(jié)點(diǎn)的時(shí)候,都不能表現(xiàn)的很好。因?yàn)镠DFS默認(rèn)的復(fù)制數(shù)量是3,再加上一個(gè)NameNode。

Hbase數(shù)據(jù)管理的下載

官方下載地址http://www./dyn/closer.cgi/hbase/
推薦下載地址https://mirrors./apache/hbase/

Hbase數(shù)據(jù)管理的案例應(yīng)用

1、內(nèi)部應(yīng)用

  • 存儲(chǔ)業(yè)務(wù)數(shù)據(jù):車(chē)輛GPS信息,司機(jī)點(diǎn)位信息,用戶(hù)操作信息,設(shè)備訪問(wèn)信息。
  • 存儲(chǔ)日志數(shù)據(jù):架構(gòu)監(jiān)控?cái)?shù)據(jù)(登錄日志,中間件訪問(wèn)日志,推送日志,短信郵件發(fā)送記錄等),業(yè)務(wù)操作日志信息。
  • 存儲(chǔ)業(yè)務(wù)附件:UDFS系統(tǒng)存儲(chǔ)圖像,視頻,文檔等附件信息。

參考文章
入門(mén)HBase,看這一篇就夠了

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多

    欧美熟妇喷浆一区二区| 亚洲中文字幕在线乱码av| 蜜桃臀欧美日韩国产精品| 国产又粗又硬又长又爽的剧情| 欧美人妻免费一区二区三区| 国产精品午夜小视频观看| 欧美日韩乱一区二区三区| 国产原创中文av在线播放| 日韩精品第一区二区三区| 欧美一区二区三区性视频| 国产成人精品一区二区三区| 日韩色婷婷综合在线观看| 精品国产亚洲一区二区三区| 超薄丝袜足一区二区三区| 国产一区欧美一区日本道| 久久中文字幕中文字幕中文| 草草草草在线观看视频| 欧美日韩国产综合特黄| 一区二区日韩欧美精品| 日韩欧美第一页在线观看| 国产精品涩涩成人一区二区三区| 欧美日韩久久精品一区二区| 男女午夜福利院在线观看| 深夜视频在线观看免费你懂| 亚洲淫片一区二区三区| 丰满人妻少妇精品一区二区三区| 亚洲成人精品免费在线观看| 亚洲中文字幕有码在线观看| 欧美人与动牲交a精品| 久久精品伊人一区二区| 丰满人妻一二三区av| 免费一区二区三区少妇| 五月激情综合在线视频| 不卡免费成人日韩精品| 高清亚洲精品中文字幕乱码| 在线观看视频日韩精品| 激情内射亚洲一区二区三区| 亚洲一级在线免费观看| 中文字幕av诱惑一区二区| 在线观看那种视频你懂的| 国产麻豆一线二线三线|