2013-10-03 39 views
1

人們似乎非常熱衷於將現有應用程序遷移到Hadoop基礎架構,並且在許多公司或組織中似乎有一句口號:如果您有大量數據,請使用Hadoop。 我想了解現有解決方案對集中(大)數據的依賴如何影響Hadoop是一個好的解決方案的決定。如何通過Hadoop使用集中式資源mapreduce

在許多情況下,您的典型「大數據」應用程序想要處理數十億個事物,例如,文件,信息,檔案儘可能有效和快速。我發現以地圖/縮小方式將這項工作分佈在許多節點中的優勢。 但是,通常爲了能夠處理這些事情,處理函數(映射器)必須在某處查找某些東西。例如,向SQL服務器發送查詢,查看圖形數據庫中的某些內容,在巨大的鍵/值存儲中查找數據。另外,每個函數都需要大量內存來存儲/緩存處理它所需的所有數據。

這是違背Hadoop處事方式還是通常以這種方式完成的事情?最終的結果是,除了將處理工作分散到一堆Hadoop節點之外,您還需要找到一種方式來實現並行化或升級或者「中央服務器」(SQL,Graph數據庫等),以便他們可以回答來自並行Hadoop節點的所有請求,不是嗎?

當獲得並行化的處理取決於在巨型中央數據存儲區中的快速查找時,轉向使用Hadoop的最佳方式是什麼?

回答

0

這就是爲什麼你有像Cassandra這樣的解決方案。當然,你不能大規模並行計算,而是將數據存儲保存爲單個實體。您還需要並行處理相關資源。

+0

謝謝 - 但仍然有一些非常基本的東西我不明白:mapreduce模型似乎基於這樣的假設:需要處理的事物可以在節點之間分開,而不是地圖可以處理它們 - 每個節點都是該節點上本地可用的一組數據。但是,當我們需要從中央商店查詢數據時,每個地圖流程都需要獲得數十億潛在記錄中某些數據的潛在訪問權限。在這種情況下,你不能很好地分解它。如何將一個擁有數十億個三元組的RDF大型商店移動到該架構中進行查找? – Johsm