從0到1搭建大數(shù)據(jù)平臺之計算存儲系統(tǒng)

前面已經(jīng)給大家講了《從0到1搭建大數(shù)據(jù)平臺之數(shù)據(jù)采集系統(tǒng)》、《從0到1搭建大數(shù)據(jù)平臺之調(diào)度系統(tǒng)》群发,今天給大家講一下大數(shù)據(jù)平臺計算存儲系統(tǒng)闯袒。大數(shù)據(jù)計算平臺目前主要都是圍繞著hadoop生態(tài)發(fā)展的,運用HDFS作為數(shù)據(jù)存儲滔岳,計算框架分為批處理屯换、流處理编丘。

一、傳統(tǒng)的計算平臺

我們都知道彤悔,沒有大數(shù)據(jù)之前嘉抓,我們計算平臺基本是依賴數(shù)據(jù)庫,大數(shù)據(jù)量的計算基本依賴Oracle數(shù)據(jù)庫晕窑。Oracle很強大抑片,支撐了很多年銀行、電信業(yè)務(wù)數(shù)據(jù)的計算存儲杨赤。Oracle多以集中式架構(gòu)為主敞斋,最大特點就是將所有的數(shù)據(jù)都集中在一個數(shù)據(jù)庫中,依靠大型高端設(shè)備來提供高處理能力和擴展性疾牲。集中式數(shù)據(jù)庫的擴展性主要采用向上擴展的方式植捎,通過增加CPU,內(nèi)存阳柔,磁盤等方式提高處理能力焰枢。這種集中式數(shù)據(jù)庫的架構(gòu),使得數(shù)據(jù)庫成為了整個系統(tǒng)的瓶頸,已經(jīng)越來越不適應(yīng)海量數(shù)據(jù)對計算能力的巨大需求济锄。同時傳統(tǒng)數(shù)據(jù)庫架構(gòu)對高端設(shè)備的依賴暑椰,無疑將直接導致系統(tǒng)成本的大幅度增加,甚至可能會導致系統(tǒng)被主機和硬件廠商所“綁架”荐绝,不得不持續(xù)增加投入成本一汽。

image

?

二、Hadoop的崛起

隨著互聯(lián)網(wǎng)行業(yè)的發(fā)展很泊,特別是移動互聯(lián)網(wǎng)的快速發(fā)展角虫,傳統(tǒng)數(shù)據(jù)庫面臨著海量數(shù)據(jù)的存儲成本沾谓、有限的擴展能力等問題委造。新的計算框架MapReduce出現(xiàn)了,新的存儲編碼方式HDFS出現(xiàn)了均驶,二者合起來昏兆,我們一般稱之為Hadoop。

Hadoop很快憑借其高可靠性妇穴、高擴展性爬虱、成本低、高效計算等優(yōu)勢在各個領(lǐng)域得到了廣泛應(yīng)用腾它。

image

?

三跑筝、Hive的應(yīng)用

Hive最初是Facebook開源的,我們來看看Hive的特點:

  • Hive是一個構(gòu)建于Hadoop頂層的數(shù)據(jù)倉庫工具瞒滴,可以查詢和管理PB級別的分布式數(shù)據(jù)曲梗。

  • 支持類SQL語音。

  • 可以看作為用戶編程接口妓忍,本身不存儲和處理數(shù)據(jù)

  • 依賴HDFS作為存儲

我們看到Hive支持類SQL語法虏两,我們可以很容易的把傳統(tǒng)關(guān)系型數(shù)據(jù)庫建立的數(shù)據(jù)倉庫任務(wù)遷移到Hadoop平臺上。

Hive的架構(gòu):

image

?

我們可以看到hive提供了多種連接方式:JDBC世剖、ODBC定罢、Thrift。

那么我們以前使用Oracle的存儲過程怎么遷移到Hive中呢旁瘫?用過Hive的同學可能都知道祖凫,Hive是沒有想Oracle那樣的游標循環(huán)呀,所以我們必須借助其他語言來配合hive一起完成數(shù)據(jù)倉庫的ETL過程酬凳。比如這個項目:PyHive(https://github.com/dropbox/PyHive)

image

?

借助Python惠况,我們可以很好的彌補Hive在復雜處理的一些缺陷,同時也能更好的開發(fā)ETL任務(wù)粱年。

image

?

所以售滤,通過Hive我們就可以搭建起一套大數(shù)據(jù)計算平臺。

四、Spark的應(yīng)用

Hive在剛開始使用過程中很好用完箩,對大數(shù)據(jù)量的處理確實比以前傳統(tǒng)數(shù)據(jù)庫要好赐俗,但是隨著業(yè)務(wù)的增長,公司越來越多的數(shù)據(jù)工程師反饋查詢慢弊知,同時業(yè)務(wù)側(cè)也紛紛提出阻逮,我們的數(shù)據(jù)能不能早點出,不要老是等到早上8點才刷新秩彤。我們需要更強大的計算引擎叔扼,Spark使用了十分之一的計算資源,獲得了比Hadoop快3倍的速度漫雷,Spark為什么這么快呢瓜富?

我們來看看Spark的特點:

  • 速度快,使用DGA(有向無環(huán)圖)降盹。

  • 支持內(nèi)存計算与柑。

  • 低延遲、高容錯蓄坏。

Spark提供了存計算价捧,可以將計算結(jié)果存放到內(nèi)存中,我們都知道MR是將數(shù)據(jù)存儲在磁盤涡戳,對磁盤讀寫结蟋,勢必會增加IO操作,計算時間過長渔彰。之前我也做過一個Hive和Spark的一個執(zhí)行效率的對比嵌屎,當時使用的是Spark1.6,數(shù)據(jù)是千萬級別的表胳岂。

image

?

還是可以看出Spark比Hive快了很多编整,現(xiàn)在Spark2.0以后,會更快了乳丰。而且掌测,Spark同樣提供的有JDBC、ODBC 产园、Thrift連接方式汞斧。

image

?

我們可以從Hive環(huán)境直接遷移到Spark環(huán)境,提高執(zhí)行效率什燕。

image

?

五粘勒、MPP的應(yīng)用

用了Spark還是不夠快,每次查詢提交任務(wù)后屎即,都得等著任務(wù)啟動然后看著任務(wù)執(zhí)行進度一直等著庙睡。

image

?

MPP(Massively Parallel Processing)是指多個處理器(或獨立的計算機)并行處理一組協(xié)同計算事富。為了保證各節(jié)點的獨立計算能力,MPP數(shù)據(jù)庫通常采用ShareNothing架構(gòu)乘陪。比較有代表性大家熟知的比如:GPDB统台、Vertica。

image

?

MPP具備以下特點:

  • 低成本的硬件啡邑、和Hadoop一樣贱勃,使用x86架構(gòu)的PC就可以

  • 數(shù)據(jù)存儲采用不同的壓縮算法,減少使用空間谤逼,提高IO性能

  • 數(shù)據(jù)加載高效贵扰,并行加載、數(shù)據(jù)加載的速度取決于帶寬

  • 易擴展流部,容易對集群節(jié)點進行增減

  • 列存儲戚绕,很多MPP支持列存儲架構(gòu),能夠更高效的訪問需要的數(shù)據(jù)

  • 支持標準SQL贵涵,MPP比SparkSQL列肢、HiveSQL對標準SQL支持的更好

從以上MPP的特點和上面我們介紹的Hadoop的特點,會發(fā)現(xiàn)MPP更適合數(shù)據(jù)自助分析宾茂、即席查詢等場景、能夠使數(shù)據(jù)人員快速獲取數(shù)據(jù)結(jié)果拴还。

六跨晴、搭建自己的計算平臺

開源的計算引擎這么多、我們?nèi)绾芜x擇合適的計算引擎搭建平臺呢片林?

下面分多個場景來和大家探討下:

1端盆、小公司、無大數(shù)據(jù)平臺

真正的從無到有搭建大數(shù)據(jù)平臺费封,開發(fā)人員較少焕妙。可以直接使用CDH搭建起來你的大數(shù)據(jù)平臺弓摘,選用Hive作為數(shù)據(jù)倉庫的計算引擎焚鹊。為什么這樣選擇呢?很多小公司沒有足夠的資金支撐大數(shù)據(jù)平臺的建設(shè)韧献,那么就會選擇相對來說的比較穩(wěn)定的開源組件末患,Hive發(fā)展了很多年,和磁盤的交互MR計算架構(gòu)中的任務(wù)很少會出錯锤窑。Hive對SQL支持的很好璧针,開發(fā)人員很容易上手,而且維護成本很低渊啰。

2探橱、小公司申屹、大數(shù)據(jù)平臺升級

已經(jīng)有過一段時間使用Hive作為計算引擎后,工程師們對大數(shù)據(jù)平臺已經(jīng)有一定的了解和知識積累隧膏,對Hadoop的運維能力也提升了独柑,隨著開發(fā)人員反饋Hive比較慢,領(lǐng)導也考慮升級平臺私植,這時候就可以引入Spark了忌栅。上面我們也說了Spark是基于內(nèi)存運算的,內(nèi)存始終是沒有磁盤穩(wěn)定曲稼,Spark任務(wù)很多時候會因為資源設(shè)置不合理而報錯索绪。而SparkSQL和可以直接共享Hive的metestore,直接從Hive遷移到Spark上很自然贫悄,工作流很小瑞驱。同時Spark還提供了Streaming功能,可以滿足公司逐漸發(fā)展遇到的實時數(shù)據(jù)問題窄坦,再也不用擔心以前hive沒半小時執(zhí)行一次任務(wù)唤反,任務(wù)還偶爾出現(xiàn)執(zhí)行不完的場景了。

3鸭津、大公司

很多傳統(tǒng)行業(yè)的大公司一直依賴傳統(tǒng)關(guān)系型數(shù)據(jù)庫來處理數(shù)據(jù)彤侍,花了很多錢購置硬件和服務(wù)。現(xiàn)在要“降本增效”逆趋,必然會對IT部門下手盏阶。大公司有錢,就可以招聘到專業(yè)的工程師闻书,他們有過建設(shè)大數(shù)據(jù)平臺的經(jīng)驗名斟,在計算選型上可以根據(jù)自己的技術(shù)棧選擇合適的計算引擎。

另外魄眉,可以買一些MPP數(shù)據(jù)庫的服務(wù)砰盐,比如GreenPlum商業(yè)版、Vertica坑律。商業(yè)版的很穩(wěn)定岩梳,幾乎不會碰到棘手的問題,平時只管使用就行了脾歇,大大提高的運維蒋腮、開發(fā)效率。對比下來會發(fā)現(xiàn)比以前使用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫省了不少錢藕各。

image

?

七池摧、總結(jié)

基于多個計算引擎搭建大數(shù)據(jù)平臺是目前的現(xiàn)狀,針對不同的企業(yè)和團隊選擇適合自己的激况,同一個公司不同的業(yè)務(wù)也可以選擇不同的計算引擎作彤。不考慮商業(yè)方案膘魄,就要根據(jù)自己的技術(shù)掌握情況,選擇自己精通的并且適合業(yè)務(wù)的竭讳〈雌希考慮商業(yè)方案的可以選擇商業(yè)的MPP,給開發(fā)和業(yè)務(wù)人員提供更好的環(huán)境和體驗绢慢。

歷史好文推薦

  1. 如何從0到1搭建大數(shù)據(jù)平臺

  2. 從0到1搭建大數(shù)據(jù)平臺之數(shù)據(jù)采集系統(tǒng)

  3. 從0到1搭建大數(shù)據(jù)平臺之調(diào)度系統(tǒng)

  4. 選擇適合你的開源 OLAP 引擎

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末灿渴,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子胰舆,更是在濱河造成了極大的恐慌骚露,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缚窿,死亡現(xiàn)場離奇詭異棘幸,居然都是意外死亡,警方通過查閱死者的電腦和手機倦零,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門误续,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人扫茅,你說我怎么就攤上這事蹋嵌。” “怎么了诞帐?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵欣尼,是天一觀的道長。 經(jīng)常有香客問我停蕉,道長,這世上最難降的妖魔是什么钙态? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任慧起,我火速辦了婚禮,結(jié)果婚禮上册倒,老公的妹妹穿的比我還像新娘蚓挤。我一直安慰自己,他們只是感情好驻子,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布灿意。 她就那樣靜靜地躺著,像睡著了一般崇呵。 火紅的嫁衣襯著肌膚如雪缤剧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天域慷,我揣著相機與錄音荒辕,去河邊找鬼汗销。 笑死,一個胖子當著我的面吹牛抵窒,可吹牛的內(nèi)容都是我干的弛针。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼李皇,長吁一口氣:“原來是場噩夢啊……” “哼削茁!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起掉房,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤茧跋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后圃阳,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體厌衔,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年捍岳,在試婚紗的時候發(fā)現(xiàn)自己被綠了富寿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡锣夹,死狀恐怖页徐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情银萍,我是刑警寧澤变勇,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站贴唇,受9級特大地震影響搀绣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜戳气,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一链患、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瓶您,春花似錦麻捻、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至夜赵,卻和暖如春明棍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背油吭。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工击蹲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留署拟,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓歌豺,卻偏偏與公主長得像推穷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子类咧,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355