溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

關(guān)系型數(shù)據(jù)庫(kù)不適于Hadoop原因有哪些

發(fā)布時(shí)間:2021-12-08 10:30:17 來(lái)源:億速云 閱讀:222 作者:小新 欄目:云計(jì)算

這篇文章主要介紹了關(guān)系型數(shù)據(jù)庫(kù)不適于Hadoop原因有哪些,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

問題要從計(jì)算機(jī)硬盤說(shuō)起,現(xiàn)階段硬盤尋址時(shí)間的提升速度遠(yuǎn)不及傳輸速率提升的速度。尋址是將磁頭移動(dòng)到特定硬盤位置進(jìn)行讀寫操作的過(guò)程,它是導(dǎo)致硬盤操作延遲的主要原因,而傳輸速率取決于硬盤的帶寬。形象的來(lái)說(shuō)就是,工人裝載貨物的效率提高,遠(yuǎn)不及高速上運(yùn)輸貨物的效率。

如果數(shù)據(jù)的訪問模式中包含大量的硬盤尋址,那么讀取大量數(shù)據(jù)集就必然會(huì)花更長(zhǎng)的時(shí)間,而流數(shù)據(jù)讀取模式取決于傳輸速率。另一方面,如果數(shù)據(jù)庫(kù)系統(tǒng)只更新一小部分記錄,那么傳統(tǒng)的B樹就更有優(yōu)勢(shì)(關(guān)系型數(shù)據(jù)庫(kù)中使用的一種數(shù)據(jù)結(jié)構(gòu),受限于尋址的比例)。但數(shù)據(jù)庫(kù)系統(tǒng)中有大量的數(shù)據(jù)更新時(shí),B樹的效率就明顯落后于MapReduce,因?yàn)樾枰褂谩芭判?合并”來(lái)重建數(shù)據(jù)庫(kù)。

在許多情況下,可以將MapReduce視為關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)的補(bǔ)充。

 傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)MapReduce
數(shù)據(jù)大小GBPB
數(shù)據(jù)存取交互式和批處理批處理
更新多次讀寫一次寫入,多次讀取
結(jié)構(gòu)靜態(tài)模式    動(dòng)態(tài)模式
完整性
橫向擴(kuò)展非線性線性

MapReduce和關(guān)系型數(shù)據(jù)庫(kù)之間的另一個(gè)區(qū)別在于它們所操作的數(shù)據(jù)集結(jié)構(gòu)化程度。結(jié)構(gòu)化數(shù)據(jù)(structured data)是具有既定格式的實(shí)體化數(shù)據(jù),如XML文檔或滿足特定的預(yù)定義格式的數(shù)據(jù)庫(kù)表。這是RDBMS包括的內(nèi)容。另一方面,半結(jié)構(gòu)化數(shù)據(jù)(semi-structured data)比較松散,雖然可能有格式,但經(jīng)常被忽略,所以它只能作為對(duì)數(shù)據(jù)結(jié)構(gòu)的一般性指導(dǎo)。例如電子表格,它在結(jié)構(gòu)上是由單元格組成的網(wǎng)格,但是每個(gè)單元格內(nèi)可以保存任何形式的數(shù)據(jù)。非結(jié)構(gòu)化數(shù)據(jù)(unstructured data)沒什么特別的內(nèi)部結(jié)構(gòu),例如純文本或圖像數(shù)據(jù)。MapReduce對(duì)非結(jié)構(gòu)化數(shù)或半結(jié)構(gòu)化數(shù)據(jù)非常有效,因?yàn)樗窃谔幚頂?shù)據(jù)時(shí)才對(duì)數(shù)據(jù)時(shí)才對(duì)數(shù)據(jù)進(jìn)行解釋。換句話說(shuō)MapReduce輸入的鍵和值并不是數(shù)據(jù)的固有屬性,而是由分析數(shù)據(jù)的人來(lái)選的。

關(guān)系型數(shù)據(jù)庫(kù)往往是規(guī)范的(normalized),以保持?jǐn)?shù)據(jù)的完整性且不含冗余。規(guī)范給MapReduce帶來(lái)了問題,因?yàn)樗褂涗涀x取成為非本地操作,而MapReduce的核心假設(shè)之一就是可以進(jìn)行高速的流讀寫操作。比如web服務(wù)器日志是典型的非規(guī)范化數(shù)據(jù)記錄,例如每一次都要記錄客戶端主機(jī)全名,這回導(dǎo)致同一客戶端的全名可能多次出現(xiàn),這也是MapReduce非常適用于分析各種日志文件的原因之一。

MapReduce是一種線性的可伸縮編程模型,程序員需要寫兩個(gè)函數(shù),分別是map和reduce函數(shù),每個(gè)函數(shù)定義了一個(gè)鍵值對(duì)集合到另一個(gè)鍵值對(duì)集合的映射。這些函數(shù)不必關(guān)注數(shù)據(jù)集及其所用集群的大小,可以原封不動(dòng)地應(yīng)用于小規(guī)模數(shù)據(jù)集或大規(guī)模數(shù)據(jù)集。如果輸入的數(shù)據(jù)量是原來(lái)的兩倍,那么運(yùn)行時(shí)間也是原來(lái)的兩倍,但是如果集群規(guī)模是原來(lái)的兩倍,作業(yè)的運(yùn)行速度卻仍然與原來(lái)的一樣快。SQL查詢一般不具備該特性。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“關(guān)系型數(shù)據(jù)庫(kù)不適于Hadoop原因有哪些”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI