化數據也爆發式增長。比如:
1、業務系統現在平均每天存儲20萬張圖片,磁盤空間每天消耗100G;
2、平均每天產生簽約視頻文件6000個,每個平均250M,磁盤空間每天消耗1T;
……
三國裏的“大數據”
“草船借箭”和大數據有什麼關係呢?對天象的觀察是基於一種對風、雲、溫度、溼度、光照和所處節氣的綜合分析這些數據來源於多元化的“非結構”類型,並且數據量較大,只不過這些數據輸入到的不是電腦,而是人腦並最終通過計算分析得出結論。
Google分佈式計算的三駕馬車
- Google File System用來解決數據存儲的問題,採用N多臺廉價的電腦,使用冗餘(也就是一份文件保存多份在不同的電腦之上)的方式,來取得讀寫速度與數據安全並存的結果。
- Map-Reduce說穿了就是函數式編程,把所有的操作都分成兩類,map與reduce,map用來將數據分成多份,分開處理,reduce將處理後的結果進行歸併,得到最終的結果。
- BigTable是在分佈式系統上存儲結構化數據的一個解決方案,解決了巨大的Table的管理、負載均衡的問題。
Hadoop體系架構
Hadoop核心設計
HDFS介紹-文件讀流程
MapReduce——映射、化簡編程模型
輸入數據->Map分解任務->執行並返回結果->Reduce彙總結果->輸出結果
Hbase——分佈式數據存儲系統
Client:使用HBase RPC機制與HMaster和HRegionServer進行通信
Zookeeper:協同服務管理,HMaster通過Zookeepe可以隨時感知各個HRegionServer的健康狀況
HMaster: 管理用戶對錶的增刪改查操作
HRegionServer:HBase中最核心的模塊,主要負責響應用戶I/O請求,向HDFS文件系統中讀寫數據
HRegion:Hbase中分佈式存儲的最小單元,可以理解成一個Table
HStore:HBase存儲的核心。由MemStore和StoreFile組成。
HLog:每次用戶操作寫入Memstore的同時,也會寫一份數據到HLog文件
還有哪些NoSQL產品?
爲什麼要使用NoSQL?
一個高併發網站的DB進化史
關係模型>聚合數據模型的轉換-基本變換
關係模型>聚合數據模型的轉換-內嵌變換
關係模型>聚合數據模型的轉換-分割變換
關係模型>聚合數據模型的轉換-內聯變換
Hadoop2.0
MapReduce:
JobTracker:協調作業的運行。
TaskTracker:運行作業劃分後的任務。