深入淺出解析大數(shù)據(jù)平臺架構
大數(shù)據(jù)的4V特征-來源
公司的“大數(shù)據(jù)”
隨著公司業(yè)務的增長,大量和流程、規(guī)則相關的非結構化數(shù)據(jù)也爆發(fā)式增長。比如:
1、業(yè)務系統(tǒng)現(xiàn)在平均每天存儲20萬張圖片,磁盤空間每天消耗100G;
2、平均每天產(chǎn)生簽約視頻文件6000個,每個平均250M,磁盤空間每天消耗1T;
……
三國里的“大數(shù)據(jù)”
“草船借箭”和大數(shù)據(jù)有什么關系呢?對天象的觀察是基于一種對風、云、溫度、濕度、光照和所處節(jié)氣的綜合分析這些數(shù)據(jù)來源于多元化的“非結構”類型,并且數(shù)據(jù)量較大,只不過這些數(shù)據(jù)輸入到的不是電腦,而是人腦并最終通過計算分析得出結論。
Google分布式計算的三駕馬車
-
Google File System用來解決數(shù)據(jù)存儲的問題,采用N多臺廉價的電腦,使用冗余(也就是一份文件保存多份在不同的電腦之上)的方式,來取得讀寫速度與數(shù)據(jù)安全并存的結果。
-
Map-Reduce說穿了就是函數(shù)式編程,把所有的操作都分成兩類,map與reduce,map用來將數(shù)據(jù)分成多份,分開處理,reduce將處理后的結果進行歸并,得到最終的結果。
-
BigTable是在分布式系統(tǒng)上存儲結構化數(shù)據(jù)的一個解決方案,解決了巨大的Table的管理、負載均衡的問題。
Hadoop體系架構
Hadoop核心設計
HDFS介紹-文件讀流程
Client向NameNode發(fā)起文件讀取的請求。
NameNode返回文件存儲的DataNode的信息。
Client讀取文件信息。
HDFS介紹-文件寫流程
Client向NameNode發(fā)起文件寫入的請求。
NameNode根據(jù)文件大小和文件塊配置情況,返回給Client它所管理部分DataNode的信息。
Client將文件劃分為多個Block,根據(jù)DataNode的地址信息,按順序寫入到每一個DataNode塊中。
MapReduce——映射、化簡編程模型
輸入數(shù)據(jù)->Map分解任務->執(zhí)行并返回結果->Reduce匯總結果->輸出結果
Hbase——分布式數(shù)據(jù)存儲系統(tǒng)
Client:使用HBase RPC機制與HMaster和HRegionServer進行通信
Zookeeper:協(xié)同服務管理,HMaster通過Zookeepe可以隨時感知各個HRegionServer的健康狀況
HMaster: 管理用戶對表的增刪改查操作
HRegionServer:HBase中最核心的模塊,主要負責響應用戶I/O請求,向HDFS文件系統(tǒng)中讀寫數(shù)據(jù)
HRegion:Hbase中分布式存儲的最小單元,可以理解成一個Table
HStore:HBase存儲的核心。由MemStore和StoreFile組成。
HLog:每次用戶操作寫入Memstore的同時,也會寫一份數(shù)據(jù)到HLog文件
還有哪些NoSQL產(chǎn)品?
為什么要使用NoSQL?
一個高并發(fā)網(wǎng)站的DB進化史
關系模型>聚合數(shù)據(jù)模型的轉換-基本變換
關系模型>聚合數(shù)據(jù)模型的轉換-內(nèi)嵌變換
關系模型>聚合數(shù)據(jù)模型的轉換-分割變換
關系模型>聚合數(shù)據(jù)模型的轉換-內(nèi)聯(lián)變換
#p#
Hadoop2.0
MapReduce:
JobTracker:協(xié)調(diào)作業(yè)的運行。
TaskTracker:運行作業(yè)劃分后的任務。
大數(shù)據(jù)的技術領域
騰訊大數(shù)據(jù)現(xiàn)狀(資料來自2014.4.11 騰訊分享日大會)
騰訊大數(shù)據(jù)平臺產(chǎn)品架構
騰訊大數(shù)據(jù)平臺與業(yè)務平臺的關系
公司數(shù)據(jù)處理平臺的基礎架構
公司大數(shù)據(jù)平臺架構圖
應用一數(shù)據(jù)分析
應用二視頻存儲
應用三離線日志分析
應用五在線數(shù)據(jù)分析
參考資料:京東基于Samza的流式計算實踐