国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 為什么說HADOOP擴展性優(yōu)于MPP架構(gòu)的關(guān)系型數(shù)據(jù)庫?

為什么說HADOOP擴展性優(yōu)于MPP架構(gòu)的關(guān)系型數(shù)據(jù)庫?

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-10-13 01:17:18 1697131038

一、為什么說HADOOP擴展性優(yōu)于MPP架構(gòu)的關(guān)系型數(shù)據(jù)庫

1. hadoop(hive)跟mpp的本質(zhì)區(qū)別是什么,這個有的時候界限很模糊,比如說存儲,如果我把mpp的存儲架在hdfs上,那存儲模型就沒有區(qū)別了,所以地下我打算還是用比較傳統(tǒng)的認(rèn)知來作區(qū)別。

2. hive跟mpp的存儲模型不一樣,hive用的hdfs,而mpp需要自己做切分,自己做切分就帶來動態(tài)調(diào)整的問題,hdfs的擴展是通過元數(shù)據(jù)來做的,他有中心節(jié)點用來存元數(shù)據(jù),在加入新的節(jié)點的時候,只需要修改元數(shù)據(jù)就可以了,所以hdfs的擴展能力是受到管理元數(shù)據(jù)那臺機器的性能限制的,一般來說可以到10k這個規(guī)模,再向上就不行了。但是mpp通常采用的是沒有中心節(jié)點的存儲模型,比如hash,你每次增加節(jié)點的時候,都需要rehash,這樣當(dāng)規(guī)模到了幾百臺的時候,擴展能力就下來了。當(dāng)然,現(xiàn)在可以把存儲架在hdfs上,這樣在存儲上就沒有太大區(qū)別了。

3. hive跟mpp的內(nèi)存管理方式不大一樣,mpp內(nèi)存管理比較精細(xì),他主要的想法是在每個機器上放個數(shù)據(jù)庫,傳統(tǒng)數(shù)據(jù)庫的內(nèi)存管理比較復(fù)雜,主要是內(nèi)外存交互的東西,這樣的架構(gòu)決定了mpp在小數(shù)據(jù)量的時候,latency可以做的比較小,但是在大數(shù)據(jù)量的時候,throughput做不上去。而hive的內(nèi)存管理非常粗放,他后來就是mapreduce的job,mr的job是沒有太多精細(xì)的內(nèi)存管理的,他就是拼了命地scan,完了頂多就是個spill,這樣的架構(gòu)導(dǎo)致throughput很大,但是latency很高,當(dāng)你集群規(guī)模很大的時候,你一般會追求很大的throughput,當(dāng)數(shù)據(jù)量很大的時候,如果你用mpp那種傳統(tǒng)的內(nèi)存管理的話,大批量的計算反而會慢,而且更加占資源,所以vertica這種一開始就考慮了列式存儲就是這個道理。

4.事務(wù),你可以認(rèn)為hive不支持傳統(tǒng)意義上的那種高并發(fā)的事務(wù),而mpp試圖想要支持,一旦你要上分布式事務(wù),基本上你的可擴展性就上不去了,至于為啥,陳皓有一篇文章寫的不錯,建議看下。hive的ddl是可以多個并發(fā)的,但是dml不行,而ddl他是通過傳統(tǒng)的數(shù)據(jù)庫去做的,所以這個也是個中心節(jié)點,dml不行的話,就決定了他可以在底層跑mr這么重粒度的東西,他跑的時候,會在整個表上面加一把大鎖。

5.failover機制,hive的failover就是mr的failover,job掛掉了重新?lián)Q機器跑就完了,但是mpp如果采用傳統(tǒng)架構(gòu)的話,他的計算是要attach到數(shù)據(jù)節(jié)點上去的,如果你規(guī)模上去,那么fail的可能性就上去了,這樣如果你每次計算都有臺機器掛了,你一掛,別人就要等你,而不是換臺機器繼續(xù)跑,那么這個也限制了可擴展性,當(dāng)然,如果mpp在底層用了統(tǒng)一的存儲,完了計算也可以到處轉(zhuǎn)移,再想個辦法把中間狀態(tài)記錄下來,也可以擴展(這個實際上就是sparksql)。

延伸閱讀:

二、MongoDB是什么

非關(guān)系型數(shù)據(jù)庫(nosql ),屬于文檔型數(shù)據(jù)庫。MongoDB采用類JSON的documents來存儲數(shù)據(jù)。數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對組成。

MongoDB采用動態(tài)數(shù)據(jù)模型schema,這意味著不需要預(yù)先定義表的數(shù)據(jù)類型和字段名。當(dāng)MongoDB需要更新文檔documents的時候,可以輕松增加新的字段名或者刪除舊的字段。MongoDB讓數(shù)據(jù)結(jié)構(gòu)更加層級化,因而存儲數(shù)組等復(fù)雜數(shù)據(jù)結(jié)構(gòu)。 在同一個集合collection中,文檔document對字段也沒有強約束,因此更容易設(shè)計差異化的數(shù)據(jù)結(jié)構(gòu)。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
系統(tǒng)運維、IT運維、網(wǎng)絡(luò)運維、數(shù)據(jù)庫運維有哪些區(qū)別?

一、系統(tǒng)運維、IT運維、網(wǎng)絡(luò)運維、數(shù)據(jù)庫運維區(qū)別網(wǎng)絡(luò)運維,數(shù)據(jù)庫運維,Linux運維,window運維,桌面運維,根底架構(gòu)運維,信息體系運維,ERP體...詳情>>

2023-10-13 02:58:27
QQ數(shù)據(jù)庫是怎樣設(shè)計的?

一、QQ數(shù)據(jù)庫是怎樣設(shè)計的1、對于群成員上限的問題,不是從數(shù)據(jù)庫層面解決的,而應(yīng)該有專門的“配額檢查”服務(wù)/邏輯,在群成員人數(shù)變化時用來判...詳情>>

2023-10-13 02:36:05
RESTful API的命名有什么講究?

一、RESTful API的命名有什么講究和目錄沒關(guān)系,通常是框架路由接管的 request uri解析出來的(v1、v2有可能是實際的目錄)restful規(guī)范/資源名/...詳情>>

2023-10-13 02:32:10
mysql為什么需要undo log?

一、mysql為什么需要undo logMySQL是原地更新記錄的,事務(wù)的更新是直接作用到舊有記錄,舊有記錄被寫到undo。同時,它又是steal的,意味著未提...詳情>>

2023-10-13 02:26:50
MySQL中單引號和反引號的區(qū)別是什么?

一、MySQL中單引號和反引號的區(qū)別MySQL / MariaDB 數(shù)據(jù)庫中,使用反引號、雙引號和單引號的規(guī)律可以概括為以下三點:單引號( ‘ )和雙引號( ” ...詳情>>

2023-10-13 02:20:59