日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
一分鐘搞懂HBase

什么是HBase?

HBase(Hadoop Database)是Apache的Hadoop項目的子項目,是一個分布式的、面向列的開源數(shù)據(jù)庫,就像Bigtable利用了Google文件系統(tǒng)(GFS)所提供的分布式數(shù)據(jù)存儲一樣,HBase在Hadoop之上提供了類似于Bigtable的能力。

為什么采用HBase?

HBase不同于一般的關(guān)系數(shù)據(jù)庫,它是一個適合于非結(jié)構(gòu)化數(shù)據(jù)存儲的數(shù)據(jù)庫,HBase是介于Map Entry(key & value)和DB Row之間的一種數(shù)據(jù)存儲方式,有點類似于現(xiàn)在流行的Memcache,但不僅僅是簡單的一個key對應(yīng)一個 value,你還可以根據(jù)需要存儲多個屬性的數(shù)據(jù)結(jié)構(gòu),但沒有傳統(tǒng)數(shù)據(jù)庫表中那么多的關(guān)聯(lián)關(guān)系,這就是所謂的松散數(shù)據(jù)。

簡單來說,你在HBase中創(chuàng)建的表可以看做是一張很大的表,而這個表的屬性可以根據(jù)需求去動態(tài)增加,在HBase中沒有表與表之間關(guān)聯(lián)查詢。你只需要告訴你的數(shù)據(jù)存儲到HBase表的哪個column families 就可以了,不需要指定它的具體類型:char,varchar,int,tinyint,text等等。但是你需要注意HBase中不包含事務(wù)此類的功能。

Apache HBase 和Google Bigtable 有非常相似的地方,一個數(shù)據(jù)行擁有一個可選擇的鍵和任意數(shù)量的列。表是疏松的存儲的,因此用戶可以給行定義各種不同的列,對于這樣的功能在大項目中非常實用,可以簡化設(shè)計和升級的成本。

HBase與傳統(tǒng)RDBMS的區(qū)別

應(yīng)用場景

有時候了解軟件產(chǎn)品的***方法是看看它是怎么用的。它可以解決什么問題和這些解決方案如何適用于大型應(yīng)用架構(gòu),能夠告訴你很多。因為HBase有許多公開的產(chǎn)品部署,我們正好可以這么做。本章節(jié)將詳細(xì)介紹一些人們成功使用HBase的使用場景。

注意:不要自我限制,認(rèn)為HBase只能解決這些使用場景。它是一個初生的技術(shù),根據(jù)使用場景進行創(chuàng)新正驅(qū)動著系統(tǒng)的發(fā)展。如果你有新想法,認(rèn)為可以受益于HBase提供的功能,試試吧。社區(qū)很樂于幫助你,也會從你的經(jīng)驗中學(xué)習(xí)。這正是開源軟件精神。

互聯(lián)網(wǎng)搜索應(yīng)用

BigTable,和模仿出來的HBase,為這種文檔庫提供存儲,BigTable提供行級訪問,所以爬蟲可以插入和更新單個文檔。搜索索引可以基于BigTable 通過MapReduce計算高效生成。

捕獲增量數(shù)據(jù)

數(shù)據(jù)通常是細(xì)水長流,累加到已有數(shù)據(jù)庫以備將來使用,例如分析,處理和服務(wù)。許多HBase使用場景屬于這個類別—使用HBase作為數(shù)據(jù)存儲,捕獲來自于各種數(shù)據(jù)源的增量數(shù)據(jù)。例如,這種數(shù)據(jù)源可能是網(wǎng)頁爬蟲(我們討論過的互聯(lián)網(wǎng)搜索應(yīng)用問題),可能是記錄用戶看了什么廣告和多長時間的廣告效果數(shù)據(jù),也可能是記錄各種參數(shù)的時間序列數(shù)據(jù)。

半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)

對于數(shù)據(jù)結(jié)構(gòu)字段不夠確定或雜亂無章很難按一個概念去進行抽取的數(shù)據(jù)適合用HBase。例如,當(dāng)業(yè)務(wù)發(fā)展需要存儲用戶的email,phone,address信息時RDBMS需要停機維護,而HBase支持動態(tài)增加。

記錄非常稀疏

RDBMS的行有多少列是固定的,為null的列浪費了存儲空間。HBase為null的Column不會被存儲,這樣既節(jié)省了空間又提高了讀性能。

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

根據(jù)Row key和Column key定位到的Value可以有任意數(shù)量的版本值,因此對于需要存儲變動歷史記錄的數(shù)據(jù),用HBase就非常方便了。比如用戶表的address是會變動的,業(yè)務(wù)上一般只需要***的值,但有時可能需要查詢到歷史值。

超大數(shù)據(jù)量

當(dāng)數(shù)據(jù)量越來越大,RDBMS數(shù)據(jù)庫撐不住了,就出現(xiàn)了讀寫分離策略,通過一個Master專門負(fù)責(zé)寫操作,多個Slave負(fù)責(zé)讀操作,服務(wù)器成本倍增。

隨著壓力增加,Master撐不住了,這時就要分庫了,把關(guān)聯(lián)不大的數(shù)據(jù)分開部署,一些join查詢不能用了,需要借助中間層。

隨著數(shù)據(jù)量的進一步增加,一個表的記錄越來越大,查詢就變得很慢,于是又得搞分表,比如按ID取模分成多個表以減少單個表的記錄數(shù)。經(jīng)歷過這些事的人都知道過程是多么的折騰。

采用HBase就簡單了,只需要加機器即可,HBase會自動水平切分?jǐn)U展,跟Hadoop的無縫集成保障了其數(shù)據(jù)可靠性(HDFS)和海量數(shù)據(jù)分析的高性能(MapReduce)。

【本文為專欄作者“朱國立”的原創(chuàng)稿件,轉(zhuǎn)載請通過作者微信公眾號“開發(fā)者圓桌”獲取聯(lián)系和授權(quán)】


本文名稱:一分鐘搞懂HBase
文章來源:http://m.5511xx.com/article/dhjdpps.html