最近對海量數據處理發生了不小的興趣,特此從一些精彩文章中摘取幾幅精彩的圖片或片斷,拿來給你們分享。所謂奇文共欣賞,好Architecture共品之。至於各位能從圖中是窺得半點經驗,仍是一圖以窺全貌,則不在我之責任,全在於讀者怎麼去解讀這幾幅精彩的架構圖了。程序員
因此,本文在選取一些架構圖以後,只配以最簡單的文字,箇中內容,讀者自行品味之。若是有任何問題或建議,歡迎不吝指正或暢所欲言。謝謝。架構
上圖是淘寶的數據魔方。按照數據的流向來劃分,淘寶的數據產品的技術架構分爲五層(如上圖所示),分別是數據源、計算層、存儲層、查詢層和產品層(圖摘自《程序員》8月刊)。分佈式
3.一、架構概覽模塊化
設計原則學習
3.二、Facebook NewsFeed 的架構示意圖優化
3.三、Facebook 搜索功能的架構示意圖搜索引擎
..................spa
@hawksoft:處理海量數據的基本思路就是分而治之的策略和流水線做業。雖然從單個的計算效率來講,單臺計算機的計算效率應該是最高的,但單臺計算機的吞吐量有限。分佈式計算的優點就在於雖然犧牲了部分計算能力,但因爲人多力量大,並且節點間配置靈活,可互補,比單純的增長計算機數量的模式要具備很大的優點。分佈式計算的關鍵點就在於切分、調度、冗餘和通訊(謝謝風大哥)。.net
這些東西原理容易知道,但實踐很難,由於通常人不多有機會。至於更多有關Mapreduce的介紹,還可參考此文:MapReduce技術的初步瞭解與學習。完。設計