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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HBase使用场景和成功案例 (转)

發(fā)布時間:2025/3/17 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HBase使用场景和成功案例 (转) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

HBase?使用場景和成功案例

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

?

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

?

HBase仿效了Google的BigTable,讓我們開始探索典型的BigTable問題:存儲互聯(lián)網(wǎng)。

?

典型互聯(lián)網(wǎng)搜索問題:BigTable發(fā)明的原因

搜索是一個定位你所關心的信息的行為:例如,搜索一本書的頁碼,其中含有你想讀的主題,或者網(wǎng)頁,其中含有你想找的信息。搜索含有特定詞語的文檔,需要查找索引,該索引提供了特定詞語和包含該詞語的所有文檔的映射。為了能夠搜索,首先必須建立索引。Google和其他搜索引擎正是這么做的。他們的文檔庫是整個互聯(lián)網(wǎng);搜索的特定詞語就是你在搜索框里敲入的任何東西。

BigTable,和模仿出來的HBase,為這種文檔庫提供存儲,BigTable提供行級訪問,所以爬蟲可以插入和更新單個文檔。搜索索引可以基于BigTable?通過MapReduce計算高效生成。如果結果是單個文檔,可以直接從BigTable取出。支持各種訪問模式是影響?BigTable設計的關鍵因素。

?

建立互聯(lián)網(wǎng)索引

1?爬蟲持續(xù)不斷地抓取新頁面,這些頁面每頁一行地存儲到BigTable里。

2 MapReduce計算作業(yè)運行在整張表上,生成索引,為網(wǎng)絡搜索應用做準備。

搜索互聯(lián)網(wǎng)

3?用戶發(fā)起網(wǎng)絡搜索請求。

4?網(wǎng)絡搜索應用查詢建立好的索引,或者直接從BigTable直接得到單個文檔。

5?搜索結果提交給用戶。

?

講完典型HBase使用場景以后,我們來看看其他使用HBase的地方。愿意使用HBase的用戶數(shù)量在過去幾年里迅猛增長。部分原因在于HBase產(chǎn)品變得更加可靠和性能更好,更多原因在于越來越多的公司開始投入大量資源來支持和使用它。隨著越來越多的商業(yè)服務供應商提供支持,用戶越發(fā)自信地把HBase應用于關鍵應用系統(tǒng)。一個設計初衷是用來存儲互聯(lián)網(wǎng)持續(xù)更新網(wǎng)頁副本的技術,用在互聯(lián)網(wǎng)相關的其他方面也很是合適的。例如,HBase在社交網(wǎng)絡公司內(nèi)部和周圍各種各樣的需求中找到了用武之地。從存儲個人之間的通信信息,到通信信息分析,HBase成為Facebook,Twitter,和StumbleUpon等公司里的關鍵基礎架構。

在這個領域,HBase有三種主要使用場景,但不限于這些。為了保持本節(jié)簡單明了,我們這里介紹主要的使用場景。

?

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

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

?

捕獲監(jiān)控參數(shù):OPENTSDB

服務于數(shù)百萬用戶的WEB產(chǎn)品的后臺基礎架構一般都有數(shù)百或數(shù)千臺服務器。這些服務器承擔了各種功能——服務流量,捕獲日志,存儲數(shù)據(jù),處理數(shù)據(jù)等等。為了保持產(chǎn)品正常運行,監(jiān)控服務器和上面運行軟件的健康狀態(tài)是至關重要的(從OS到用戶交互應用)。大規(guī)模監(jiān)控整個環(huán)境需要能夠采集和存儲來自于不同數(shù)據(jù)源的各種參數(shù)的監(jiān)控系統(tǒng)。每個公司有自己的辦法。一些公司使用商業(yè)工具來收集和展示參數(shù);而其他一些公司采用開源框架。

StumbleUpon?創(chuàng)建了一個開源框架,用來收集服務器的各種監(jiān)控參數(shù)。按照時間收集參數(shù)一般稱之為時間序列數(shù)據(jù):也就是說,按照時間順序收集和記錄數(shù)據(jù)。StumbleUpon?的開源框架叫做OpenTSDB,其含義是開放時間序列數(shù)據(jù)庫?Open Time Series Database?。這個框架使用HBase作為核心平臺來存儲和檢索所收集的參數(shù)。創(chuàng)建這個框架的目的是為了擁有一個可擴展的監(jiān)控數(shù)據(jù)收集系統(tǒng),一方面能夠存儲和檢索參數(shù)數(shù)據(jù)并保存很長時間,另一方面如果需要增加功能也可以添加各種新參數(shù)。StumbleUpon?使用OpenTSDB監(jiān)控所有基礎架構和軟件,包括HBase機群自身。我們將在第7章作為建構在HBase之上的示例應用來詳細介紹OpenTSDB。

?

捕獲用戶交互數(shù)據(jù):Facebook和StumbleUpon

捕獲監(jiān)控數(shù)據(jù)是一種使用方式。還有一種是捕獲用戶交互數(shù)據(jù)。如何跟蹤數(shù)百萬用戶在網(wǎng)站上的活動?怎么知道哪一個網(wǎng)站功能是最受歡迎的?怎樣使得這一次的網(wǎng)頁瀏覽直接影響到下一次?例如,誰看了什么?某個按鈕被點擊了多少次?還記得Facebook和Stumble?里的Like按鈕和StumbleUpon?里的+1?按鈕嗎?是不是聽起來像是一個計數(shù)問題?每次用戶Like一個特定主題計數(shù)器增加一次。

StumbleUpon?在開始階段采用MySQL,但是隨著網(wǎng)站服務越來越流行,這個技術選擇遇到問題了。急劇增長的用戶在線負載需求遠遠超過了MySQL機群的能力,最終StumbleUpon?選擇HBase來替換這些機群。當時,HBase產(chǎn)品不能直接提供必須的功能。StumbleUpon?在HBase上做了一些小的開發(fā)改動,后來這些開發(fā)工作貢獻回了項目社區(qū)。

FaceBook使用HBase的計數(shù)器來計量人們Like特定網(wǎng)頁的次數(shù)。內(nèi)容原創(chuàng)人和網(wǎng)頁主人可以得到近乎實時的、多少用戶Like他們網(wǎng)頁的數(shù)據(jù)信息。他們可以因此更敏捷地判斷應該提供什么內(nèi)容。Facebook?為此創(chuàng)建了一個叫Facebook Insight的系統(tǒng),該系統(tǒng)需要一個可擴展的存儲系統(tǒng)。公司考慮了很多種可能,包括關系型數(shù)據(jù)庫、內(nèi)存數(shù)據(jù)庫、和Cassandra數(shù)據(jù)庫,最后決定使用HBase。基于HBase,Facebook?可以很方便地橫向擴展服務規(guī)模,提供給數(shù)百萬用戶,也可以繼續(xù)使用他們已有的運行大規(guī)模HBase機群的經(jīng)驗。該系統(tǒng)每天處理數(shù)百億條事件,記錄數(shù)百個參數(shù)。

?

TELEMETRY:MOZILLA?和?TREND MICRO

軟件運行數(shù)據(jù)和軟件質(zhì)量數(shù)據(jù),不像監(jiān)控參數(shù)數(shù)據(jù)那么簡單。例如,軟件崩潰報告是有用的軟件運行數(shù)據(jù),經(jīng)常用來探究軟件質(zhì)量和規(guī)劃軟件開發(fā)路線圖。HBase可以成功地用來捕獲和存儲用戶計算機上生成的軟件崩潰報告。這種使用場景不像前兩種使用場景,和網(wǎng)絡服務應用不一定有關系。

?

Mozilla基金會負責FireFox網(wǎng)絡瀏覽器和Thunderbird電郵客戶端兩個產(chǎn)品。這些工具安裝在全世界數(shù)百萬臺計算機上,支持各種操作系統(tǒng)。當這些工具崩潰時,會以Bug報告的形式返回一個軟件崩潰報告給Mozilla。Mozilla如何收集這些數(shù)據(jù)?收集后又是怎么使用呢?實際情況是這樣的,一個叫做Socorro的系統(tǒng)收集了這些報告,用來指導研發(fā)部門研制更穩(wěn)定的產(chǎn)品。Socorrade系統(tǒng)的數(shù)據(jù)存儲和分析建構在HBase上。?[1]

采用HBase使得基本分析可以用到比以前多得多的數(shù)據(jù)。這種分析用來指導Mozilla的開發(fā)人員,使其更為專注,研制出Bug最少的版本。

Trend Micro為企業(yè)客戶提供互聯(lián)網(wǎng)安全和入侵管理服務。安全的重要環(huán)節(jié)是感知,日志收集和分析對于提供這種感知能力是至關重要的。Trend Micro使用HBase來管理網(wǎng)絡信譽數(shù)據(jù)庫,該數(shù)據(jù)庫需要行級更新和支持MapReduce批處理。有點像Mozilla的Socorro系統(tǒng),HBase也用來收集和分析日志活動,每天收集數(shù)十億條記錄。HBase中靈活的模式支持數(shù)據(jù)結構出現(xiàn)變化,當分析流程重新調(diào)整時Trend Micro可以增加新屬性。

?

廣告效果和點擊流

過去的十年,在線廣告成為互聯(lián)網(wǎng)產(chǎn)品的一個主要收入來源。提供免費服務給用戶,在用戶使用服務的時侯投放廣告給目標用戶。這種精準投放需要針對用戶交互數(shù)據(jù)做詳細的捕獲和分析,以便于理解用戶的特征。基于這種特征,選擇并投放廣告。精細的用戶交互數(shù)據(jù)帶來更好的模型,進而導致更好的廣告投放效果和更多的收入。但這類數(shù)據(jù)有兩個特點:它以連續(xù)流的形式出現(xiàn),它很容易按用戶劃分。理想情況下,這種數(shù)據(jù)一旦產(chǎn)生就能夠馬上使用,用戶特征模型可以沒有延遲地持續(xù)優(yōu)化——也就是說,以在線方式使用。

?

在線?VS?離線系統(tǒng)

在線和離線的術語多次出現(xiàn)。對于初學者來說,這些術語描述了軟件系統(tǒng)執(zhí)行的條件。在線系統(tǒng)需要低延遲。某些情況下,系統(tǒng)哪怕給出沒有答案的響應,也要比花了很長時間給出正確答案的響應好。你可以把在線系統(tǒng)想象為一個跳著腳的沒有耐心的用戶。離線系統(tǒng)不需要低延遲,用戶可以等待答案,不期待馬上給出響應。當實現(xiàn)應用系統(tǒng)時在線或者離線的目標影響著許多技術決策。HBase是一個在線系統(tǒng)。和Hadoop MapReduce的緊密結合又賦予它離線訪問的能力。

?

HBase非常適合收集這種用戶交互數(shù)據(jù),HBase已經(jīng)成功地應用在這種場合,它可以增量捕獲第一手點擊流和用戶交互數(shù)據(jù),然后用不同處理方式(MapReduce是其中一種)來處理數(shù)據(jù)(清理、裝飾、使用數(shù)據(jù))。在這種公司,你會發(fā)現(xiàn)很多HBase案例。

?

內(nèi)容服務

傳統(tǒng)數(shù)據(jù)庫的一個最大使用場合是為用戶提供內(nèi)容服務。各種各樣的數(shù)據(jù)庫支撐著提供各種內(nèi)容服務的應用系統(tǒng)。多年來這些應用在發(fā)展,因此他們所依賴的數(shù)據(jù)庫也在發(fā)展。用戶希望使用和交互的內(nèi)容種類越來越多。此外,由于互聯(lián)網(wǎng)迅猛的增長以及終端設備更加迅猛的增長,對這些應用的連接方式提出了更高的要求。各種各樣的終端設備帶來了一個挑戰(zhàn):不同種類設備需要以不同格式使用同樣的內(nèi)容。

一方面是用戶使用內(nèi)容?User Consuming Content,對應另一面是用戶生成內(nèi)容?User GenerateContent。Tweete、Facebook帖子、Instagram?圖片和微博等都是這樣的例子。

他們相同的地方是使用和生成了許多內(nèi)容。大量用戶通過應用系統(tǒng)來使用和生成內(nèi)容,而這些應用系統(tǒng)需要Hbase作為基礎。

集中的內(nèi)容系統(tǒng)系統(tǒng)?CMS可以存儲內(nèi)容和提供服務。但是當用戶越來越多,生成內(nèi)容越來越多的時候,就需要一個更具擴展性的CMS解決方案。

這種可擴展的CMS往往使用Hbase作為基礎,再加上其他的開源框架,例如Solr,構成一個完整的功能組合。

Salesforce提供托管CRM產(chǎn)品,這個產(chǎn)品通過網(wǎng)絡瀏覽器界面提交給用戶使用,顯示出了豐富的關系型數(shù)據(jù)庫功能。在Google發(fā)表NoSQL原型概念論文之前很長一段時間,生產(chǎn)環(huán)境中使用的大型關鍵數(shù)據(jù)庫最合理的選擇就是商用關系型數(shù)據(jù)庫。多年來,Salesforce通過數(shù)據(jù)庫分庫和尖端性能優(yōu)化這些手段擴展系統(tǒng),達到每天處理數(shù)億事務的能力。

Salesforce看到分布式數(shù)據(jù)庫這樣的選擇后,他們評測了所有NoSQL技術的產(chǎn)品,最后決定部署HBase。這個選擇的主要原因是有來由的。BigTable類型的系統(tǒng)是唯一的可以無縫融合水平擴展能力和行級強一致性的結構方式。此外,Salesforce已經(jīng)把Hadoop用于大型離線批處理任務,他們可以繼續(xù)利用Hadoop上面積累的寶貴經(jīng)驗。

URL短鏈

最近一段時間URL短鏈非常流行,許多類似產(chǎn)品破土而出。StumbleUpon使用名字為su.pr.的短鏈產(chǎn)品,這個產(chǎn)品以HBase為基礎。這個產(chǎn)品用來縮短URL,存儲大量的短鏈以及和原始長鏈接的映射關系,HBase幫助產(chǎn)品實現(xiàn)擴展能力。

用戶模型服務

經(jīng)過HBase處理過的內(nèi)容往往并不直接提交給用戶使用,而是用來決定應該提交給用戶什么內(nèi)容。這種中間處理數(shù)據(jù)用來豐富用戶的交互。還記得前面提到的廣告服務場景里的用戶模式嗎?用戶模式(或者說模型)就是來自于HBase。這種模型多種多樣,可以用于多種不同場景,例如,針對特定用戶投放什么廣告的決定,用戶在電商門戶購物時實時報價的決定,用戶在搜索引擎檢索時增加背景信息和關聯(lián)內(nèi)容,等等。很多這種使用案例可能不便于公開討論,說多了我們就麻煩了。

當用戶在電商網(wǎng)站上發(fā)生交易時,用戶模型服務可以用來實時報價。這種模型需要基于不斷產(chǎn)生的新用戶數(shù)據(jù)持續(xù)優(yōu)化。

?

信息交換

各種社交網(wǎng)絡破土而出,世界變得越來越小。社叫網(wǎng)站的一個重要作用就是幫助人們進行交互。有時交互在群組內(nèi)發(fā)生(小規(guī)模和大規(guī)模);有時交互在兩個個人之見發(fā)生。想想看,數(shù)億人通過社交網(wǎng)絡進行對話的場面。只是和遠處的人通話是不夠的,人們還想看看和其他人通話的歷史記錄。社交網(wǎng)絡公司感到幸運的是,存儲很廉價,大數(shù)據(jù)領域的創(chuàng)新可以幫助他們充分利用廉價的存儲。

Facebook短信系統(tǒng)經(jīng)常被公開討論,他也可能極大地驅動了HBase的發(fā)展。當你使用Facebook時,某個時候你可能會收到或者發(fā)送短信給你的朋友。Facebook的這個特性完全依賴于HBase。用戶讀寫的所有短信都存儲在HBase里。支持Facebook短信的系統(tǒng)需要具備:高的寫吞吐量,極大的表,數(shù)據(jù)中心內(nèi)的強一致性。除了短信系統(tǒng)之外,使用HBase的其他應用系統(tǒng)另外要求:高的讀吞吐量,計數(shù)器吞吐量,自動分庫。工程師們發(fā)現(xiàn)HBase是個理想的解決方案,因為他支持所有這些要求,他擁有一個活躍的用戶社區(qū),Facebook運營團隊在Hadoop部署上有豐富經(jīng)驗,等等。在“Hadoop goes realtime at Facebook”這篇文章里,Facebook工程師解釋了這個決定背后的邏輯和顯示了他們使用Hadoop和HBase建設在線系統(tǒng)的經(jīng)驗。

Facebook工程師在HbaseCon 2012會議上分享了一些有趣的數(shù)據(jù)。在這個平臺上每天交換數(shù)十億條短信,每天帶來大約750億次操作。尖峰時刻,Facebook的HBase集群每秒發(fā)生150萬次操作。從數(shù)據(jù)規(guī)模角度看,Facebook的集群每月增加250TB的新數(shù)據(jù),這可能是已知的最大的HBase部署,無論是服務器的數(shù)量還是服務器所承載的用戶量。

上述一些示例,解釋了HBase如何解決一些有趣的老問題和新問題。你可能注意到一個相同點:HBase可以用來對相同數(shù)據(jù)進行在線服務和離線處理。這正是HBase的獨到之處。

?

轉自?http://blog.sina.com.cn/s/blog_ae33b83901016azb.html

總結

以上是生活随笔為你收集整理的HBase使用场景和成功案例 (转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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