2017-03-16 64 views
0

Oracle RDBMS中是否有可用的功能/功能,它等同於MapReduce以使用並行處理來處理大型數據集?什麼是Oracle RDBMS中的Mapreduce等效功能?

+0

爲什麼你認爲你需要在數據庫中使用MapReduce?你需要哪些不是由Oracle的SQL提供的功能? – APC

+0

它不是用於任何特定的功能。當我讀到關於NoSQL DB的內容時,特別是與RDBMS相比,MongoDB MapReduce被認爲是一種能力差異。因此,想知道Oracle如何爲RDBMS類型的數據/功能提供類似的功能。 – yathirigan

回答

5

Oracle發佈了一個關於使用PL/SQL實現MapReduce算法的白皮書。 Find it here

雖然白皮書中的代碼正常工作,但潛在的前提不會受到審查。 MapReduce通過應用大規模並行操作的強力對數據進行排序,過濾和轉換。但由於Oracle的授權策略,幾乎沒有人能夠負擔足夠的CPU來使MapReduce在數據庫上值得。

幸運的是,Oracle的內置功能,我們付出的那些令人垂涎的許可證費用,足以使MapReduce無關緊要。最好學習如何正確使用SQL,尤其是分析函數和(12c)MATCH_RECOGNIZE。哦,還有適當的數據建模。


「當我閱讀有關的NoSQL DB中,特別是MongoDB的MapReduce的提到相比RDBMS能力差」。

警告:提前意見

它以同樣的方式與一個假腿海盜必須杜絕在環甜甜圈洞能力的能力差。

本質上MapReduce是一個過程,用於將存儲在一個未區分大量數據中的一堆數據轉換爲適合特定任務的特定形狀。谷歌設計了MapReduce算法來處理網頁的縮放以提取所有不同的單詞,並總計每個單詞的出現次數。這就是爲什麼字數統計是MapReduce相當於「Hello World」的原因。

像MongoDB這樣的存儲以無模式格式(即文檔)保存其數據。這對於保存和檢索整個文檔非常有用,但對於查詢文檔的某些部分或跨多個文檔進行連接不太好。這就是爲什麼他們需要MapReduce的這種能力。商店本身沒有智能。

Oracle不需要MapReduce,因爲它有不同的範例。它在架構中保存數據,這些架構將智能和結構應用於數據,並具有針對連接數據結構進行優化的查詢引擎。

這兩種方法都有其好處和成本。 RDBMS以前期設計的價格提供數據完整性和查詢速度,並要求負載符合固定結構。 「無模式」數據存儲使得持有任意結構化文檔變得更加容易,但讀取任務會對預處理這些文檔產生他們需要的數據子集付費。

1

是的。這就是所謂的並行執行。

相關問題