軟件發展主要是兩件事:簡單性和模塊化,簡單是簡化情況以解決問題,模塊則是為了分工合作。大數據發展完美詮釋了這個過程。
大數據,是在網頁檢索中發展起來的,其中關鍵是 Google,它奠定了大數據技術的基礎。
網頁檢索,海量數據,面臨很多挑戰。
海量網頁存儲,但現有存儲系統,“貴”、“不易擴展”、“數據存儲還不可靠”(注:Raid5重建,慢,且重建過程中壞盤,則就無法恢復了)。

■ 獨立元數據節點。
■ 不要Raid,多機存多份(使用廉價服務器群,并認為故障是常態)。
■ 不刪除,不修改,只添加和覆蓋(一次寫,多次讀)。
■不要多表 。
■不要回滾 。
■不要格式校驗 。
■不要觸發器 。
■批量讀數據,減少磁頭尋址時間。
■數據容忍丟失,大量緩存,排好序一次寫。
■多費些硬盤,對關鍵值Hash,快速查找 。

■ Map過程:“數據分N份,每個數據獨立映射”,這部分可高度并發。
■ Reduce過程:數據集數據進行合并運算。
■ 分布式調度框架:調度原則為“移動計算比移動數據更便宜”。

