【大数据】企业级大数据技术体系概述
目錄
產(chǎn)生背景
常見(jiàn)應(yīng)用場(chǎng)景
企業(yè)級(jí)大數(shù)據(jù)技術(shù)框架
數(shù)據(jù)收集層
數(shù)據(jù)存儲(chǔ)層
資源管理與服務(wù)協(xié)調(diào)層
計(jì)算引擎層
數(shù)據(jù)分析層
數(shù)據(jù)可視層
企業(yè)級(jí)大數(shù)據(jù)技術(shù)實(shí)現(xiàn)方案
Google 大數(shù)據(jù)技術(shù)棧
Hadoop與Spark開(kāi)源大數(shù)據(jù)技術(shù)棧
一個(gè)經(jīng)典LA應(yīng)用案例:推薦系統(tǒng)
產(chǎn)生背景
大數(shù)據(jù)技術(shù)直接來(lái)源互聯(lián)網(wǎng)行業(yè),互聯(lián)網(wǎng)的用戶(hù)量和數(shù)據(jù)越來(lái)越多逐步形成大數(shù)據(jù),根據(jù)有關(guān)技術(shù)報(bào)告知道,國(guó)內(nèi)百度,騰訊,和阿里巴巴等數(shù)據(jù)規(guī)模如下(2013年):
- 百度數(shù)據(jù)總量接近1000PB,網(wǎng)頁(yè)數(shù)量幾千億個(gè),每年更新幾十億個(gè),每天查詢(xún)次數(shù)幾十億次。
- 騰訊用戶(hù)約有8億,4億移動(dòng)用戶(hù),總存儲(chǔ)數(shù)據(jù)量經(jīng)壓縮處理后100PB,日增200TB到30TB。
- 阿里巴巴總數(shù)據(jù)量100PB,每天活躍數(shù)據(jù)量超過(guò)50TB。
常見(jiàn)應(yīng)用場(chǎng)景
互聯(lián)網(wǎng)領(lǐng)域:搜索引擎,推薦系統(tǒng),廣告系統(tǒng)
電信領(lǐng)域:
- 網(wǎng)絡(luò)管理與優(yōu)化:包括基礎(chǔ)設(shè)施優(yōu)化,網(wǎng)絡(luò)運(yùn)營(yíng)管理和優(yōu)化。
- 市場(chǎng)與精準(zhǔn)營(yíng)銷(xiāo):包括客戶(hù)畫(huà)像,關(guān)系鏈研究,精準(zhǔn)營(yíng)銷(xiāo),實(shí)時(shí)營(yíng)銷(xiāo)和個(gè)性化推薦。
- 客戶(hù)關(guān)系管理:包括客戶(hù)中心優(yōu)化和客戶(hù)生命周期管理。
- 企業(yè)運(yùn)營(yíng)管理:包括業(yè)務(wù)運(yùn)營(yíng)監(jiān)控和經(jīng)營(yíng)分析。
- 數(shù)據(jù)商業(yè)化:數(shù)據(jù)對(duì)外商業(yè)化,單獨(dú)盈利。
醫(yī)療領(lǐng)域:臨床數(shù)據(jù)對(duì)比,藥品研發(fā),臨床決策支持,實(shí)時(shí)統(tǒng)計(jì)分析,基本藥物臨床應(yīng)用分析,遠(yuǎn)程病人數(shù)據(jù)分析,人口統(tǒng)計(jì)學(xué)分析,新農(nóng)合基金數(shù)據(jù)分析,就診行為分析,新的服務(wù)模式等。
金融領(lǐng)域:
- 用戶(hù)畫(huà)像應(yīng)用:個(gè)人客戶(hù)和企業(yè)客戶(hù),個(gè)人畫(huà)像包括人口統(tǒng)計(jì)學(xué)特征,消費(fèi)能力,興趣,風(fēng)險(xiǎn)愛(ài)好等;企業(yè)客戶(hù)畫(huà)像包括企業(yè)的生產(chǎn),流通,運(yùn)營(yíng),財(cái)務(wù),銷(xiāo)售,客戶(hù),相關(guān)產(chǎn)業(yè)鏈上下游等數(shù)據(jù)。
- 精準(zhǔn)營(yíng)銷(xiāo):如根據(jù)客戶(hù)的年齡,資產(chǎn)規(guī)模,理財(cái)偏好等,對(duì)客戶(hù)群進(jìn)行精準(zhǔn)定位,分析出其潛在的金融服務(wù)需求,進(jìn)行針對(duì)性營(yíng)銷(xiāo)推廣。
- 風(fēng)險(xiǎn)管控:中小企業(yè)貸款風(fēng)險(xiǎn)評(píng)估和反欺詐交易識(shí)別等手段
- 運(yùn)營(yíng)優(yōu)化:對(duì)市場(chǎng)和渠道分析優(yōu)化,產(chǎn)品和服務(wù)優(yōu)化等。通過(guò)監(jiān)控不同市場(chǎng)推廣渠道尤其是網(wǎng)絡(luò)渠道推廣的質(zhì)量,從而進(jìn)行合作渠道的調(diào)整和優(yōu)化;將客戶(hù)行為轉(zhuǎn)化為信息流,從中分析客戶(hù)的個(gè)性特征和風(fēng)險(xiǎn)偏好,更深層次地理解客戶(hù)的習(xí)慣,智能化分析和預(yù)測(cè)客戶(hù)需求,從而進(jìn)行產(chǎn)品創(chuàng)新和服務(wù)優(yōu)化。
企業(yè)級(jí)大數(shù)據(jù)技術(shù)框架
數(shù)據(jù)在信息系統(tǒng)中流動(dòng),大數(shù)據(jù)從數(shù)據(jù)源開(kāi)始,經(jīng)過(guò)分析,挖掘到最終獲得有價(jià)值,經(jīng)過(guò) 6 個(gè)環(huán)節(jié):
數(shù)據(jù)收集層
數(shù)據(jù)源一般特點(diǎn)
- 分布式:分布在不同機(jī)器或設(shè)備上,通過(guò)網(wǎng)絡(luò)連接在一起。
- 異構(gòu)性:任何能產(chǎn)生數(shù)據(jù)的系統(tǒng)均可以稱(chēng)為數(shù)據(jù)源,如手環(huán),傳感器,視頻攝像頭等。
- 多樣化:關(guān)系型(用戶(hù)基本信息)和非關(guān)系型(圖片,音頻,視頻等)。
- 流式產(chǎn)生:數(shù)據(jù)源如同“水龍頭”,源源不斷。收集系統(tǒng)應(yīng)實(shí)時(shí)或近實(shí)時(shí)將數(shù)據(jù)發(fā)送到后端,以便對(duì)數(shù)據(jù)進(jìn)行及時(shí)分析。
適用大數(shù)據(jù)領(lǐng)域收集系統(tǒng)一般具備特性
- 擴(kuò)展性:適配不同數(shù)據(jù)源,并能接入大量數(shù)據(jù)源而不會(huì)產(chǎn)生系統(tǒng)瓶頸。
- 可靠性:數(shù)據(jù)不丟失
- 安全性:敏感數(shù)據(jù)處理機(jī)制
- 低延性:保證較低延遲前提將數(shù)據(jù)傳輸?shù)胶蠖讼到y(tǒng)
數(shù)據(jù)存儲(chǔ)層
- 擴(kuò)展性:存儲(chǔ)能力擴(kuò)展
- 容錯(cuò)性:考慮成本等因素,大數(shù)據(jù)系統(tǒng)從最初假設(shè)構(gòu)建在廉價(jià)機(jī)器上,要求系統(tǒng)本身就有良好的容錯(cuò)機(jī)制確保在機(jī)器出現(xiàn)故障時(shí)不會(huì)導(dǎo)致丟失數(shù)據(jù)。
- 存儲(chǔ)模型:支持多種數(shù)據(jù)模型
資源管理與服務(wù)協(xié)調(diào)層
傳統(tǒng)的"一個(gè)應(yīng)用一個(gè)集群"缺點(diǎn):資源利用率低,運(yùn)維成本高,從而引入數(shù)據(jù)共享輕量級(jí)彈性資源管理平臺(tái),資源統(tǒng)一管理層好處:
- 資源利用率高:共享集群模式通過(guò)多種應(yīng)用共享資源,使得集群中資源得到充分利用。
- 運(yùn)維成本低:需要少數(shù)管理員即可完成多個(gè)框架的統(tǒng)一管理。
- 數(shù)據(jù)共享:共享集群模式解決跨集群間的數(shù)據(jù)移動(dòng)不僅需要花費(fèi)更長(zhǎng)的時(shí)間,且硬件成本也大大增加問(wèn)題。
計(jì)算引擎層
針對(duì)不同應(yīng)用場(chǎng)景,單獨(dú)構(gòu)建一個(gè)計(jì)算機(jī)引擎,每種計(jì)算引擎只專(zhuān)注于解決某一類(lèi)問(wèn)題。
- 批處理:對(duì)實(shí)時(shí)要求低,追求高吞吐量,比如搜索引擎建索引,數(shù)據(jù)挖掘,機(jī)器學(xué)習(xí)等。
- 交互式處理:對(duì)時(shí)間要求較高,秒級(jí)別。需要跟人進(jìn)行交互,如應(yīng)用數(shù)據(jù)查詢(xún),參數(shù)化報(bào)表,OLAP等。
- 實(shí)時(shí)處理:對(duì)時(shí)間要求最高,延遲在秒級(jí)內(nèi),如廣告系統(tǒng),輿情監(jiān)測(cè)等。
數(shù)據(jù)分析層
該層直接跟用戶(hù)應(yīng)用程序?qū)?#xff0c;提供易用的數(shù)據(jù)處理工具。一般結(jié)合工具使用,使用處理框架對(duì)原始海量數(shù)據(jù)進(jìn)行分析,產(chǎn)生較小規(guī)模的數(shù)據(jù)集,在此基礎(chǔ)上,再使用交互式處理工具對(duì)數(shù)據(jù)集進(jìn)行快速查詢(xún),獲取查詢(xún)結(jié)果。
數(shù)據(jù)可視層
運(yùn)用計(jì)算機(jī)圖形學(xué)和圖像處理技術(shù),將數(shù)據(jù)轉(zhuǎn)換為圖形或圖像在屏幕上顯示出來(lái),并進(jìn)行交互式的理論,方法和技術(shù)。
企業(yè)級(jí)大數(shù)據(jù)技術(shù)實(shí)現(xiàn)方案
Google 大數(shù)據(jù)技術(shù)棧
( 論文形式對(duì)外公開(kāi))
Google 大數(shù)據(jù)技術(shù)棧1.數(shù)據(jù)存儲(chǔ)層
- GFS:文件系統(tǒng)(Google File System)是一個(gè)分布式文件系統(tǒng)。
- BigTable:構(gòu)建在GFS上分布式數(shù)據(jù)庫(kù),本質(zhì)上是一個(gè)稀疏,分布式,持久化存儲(chǔ)的多維度排序映射表。
- MegaStore:構(gòu)建在BigTable之上,支持ACID特性分布式數(shù)據(jù)庫(kù)。
- Spanner:可擴(kuò)展,多版本,全球分布式,支持同步復(fù)制的數(shù)據(jù)庫(kù)。
2.資源管理與服務(wù)協(xié)調(diào)層
- Borg:集群資源管理器和調(diào)度系統(tǒng),負(fù)責(zé)集群的資源管理器和統(tǒng)一調(diào)度,并對(duì)應(yīng)程序進(jìn)行接收,啟動(dòng),停止,重啟和監(jiān)控。
- Omega:Google下一代集群資源管理器和調(diào)度系統(tǒng)。
- Chubby:為松散耦合的分布式系統(tǒng)提供粗粒度的鎖以及可靠存儲(chǔ)。
3.計(jì)算引擎層
- MapReduce:批處理計(jì)算框架,任務(wù)分解和結(jié)果匯總。
- Dreme:分布式OLAP系統(tǒng)
- Prege:分布式圖計(jì)算框架,專(zhuān)門(mén)用來(lái)解決網(wǎng)頁(yè)鏈接分析,設(shè)計(jì)數(shù)據(jù)挖掘等實(shí)際應(yīng)用中涉及的大規(guī)模分布式圖計(jì)算框架。
- Precolator:基于BigTable構(gòu)建的大數(shù)據(jù)集增量更新系統(tǒng)。
- MillWheel:分布式流式實(shí)時(shí)處理框架
4.數(shù)據(jù)分析層
- FlueJava:建立在MapReduce之上的編程庫(kù)
- Tenzing:建立在MapReduce之上的SQL查詢(xún)執(zhí)行引擎。將用戶(hù)編寫(xiě)的SQL語(yǔ)句轉(zhuǎn)化為MapReduce程序,并提交到集群分布式并行執(zhí)行。
Hadoop與Spark開(kāi)源大數(shù)據(jù)技術(shù)棧
Hadoop 與 Spark 大數(shù)據(jù)技術(shù)棧1.數(shù)據(jù)收集層
主要由關(guān)系型和非關(guān)系型數(shù)據(jù)收集組建,分布式消息隊(duì)列構(gòu)成。
- Sqoop/Cannal:關(guān)系型數(shù)據(jù)收集和導(dǎo)入工具,是連接關(guān)系型數(shù)據(jù)庫(kù) (比如MySQL) 和Hadoop (比如HDFS) 的橋梁。Sqoop可將關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)全量導(dǎo)入Hadoop,反之亦可,Cannal用于實(shí)現(xiàn)數(shù)據(jù)的增量導(dǎo)入。
- Flume:非關(guān)系型數(shù)據(jù)收集工具,主要是流式日志數(shù)據(jù),可近實(shí)時(shí)收集,經(jīng)過(guò)濾,聚合后加載到HDFS等儲(chǔ)存系統(tǒng)。
- Kafka:分布式消息隊(duì)列,一般做數(shù)據(jù)總線(xiàn)使用,它允許多個(gè)數(shù)據(jù)消費(fèi)者訂閱并獲取感興趣的數(shù)據(jù)。(分布式高容錯(cuò)設(shè)計(jì))
2.數(shù)據(jù)存儲(chǔ)層
主要由分布式文件系統(tǒng)(面向文件的存儲(chǔ))和分布式數(shù)據(jù)庫(kù)(面向行/列的存儲(chǔ))構(gòu)成。
- HDFS:Hadoop分布式文件系統(tǒng),Google GFS的開(kāi)源實(shí)現(xiàn),具有良好擴(kuò)展性與容錯(cuò)性等優(yōu)點(diǎn)。
- HBase:構(gòu)建在HDFS之上的分布式數(shù)據(jù)庫(kù),Google Bigtable的開(kāi)源實(shí)現(xiàn),允許用戶(hù)存儲(chǔ)結(jié)構(gòu)化與半結(jié)構(gòu)化的數(shù)據(jù),支持行列無(wú)限擴(kuò)展以及數(shù)據(jù)隨機(jī)查找與刪除。
- Kudo:分布式列式存儲(chǔ)數(shù)據(jù)庫(kù),允許用戶(hù)存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù),支持行無(wú)限擴(kuò)展以及數(shù)據(jù)隨機(jī)查找和更新。
3.資源管理與服務(wù)協(xié)調(diào)
- YARN:統(tǒng)一資源管理和調(diào)度系統(tǒng),它能夠管理集群中的各種資源(比如CPU,內(nèi)存等),按照一定策略分配給上層的各類(lèi)應(yīng)用。內(nèi)置了多種多租戶(hù)資源調(diào)度器,允許用戶(hù)按照隊(duì)列的方式組織和管理資源,且每個(gè)隊(duì)列的調(diào)度機(jī)制可以獨(dú)立定制。
- ZooKeeper:基于簡(jiǎn)化的Paxos協(xié)議實(shí)現(xiàn)的服務(wù)協(xié)調(diào)系統(tǒng),提供類(lèi)型類(lèi)似文件系統(tǒng)的數(shù)據(jù)模型,允許用戶(hù)通過(guò)簡(jiǎn)單的API實(shí)現(xiàn)leader選舉,服務(wù)命名,分布式隊(duì)列與分布式鎖等復(fù)雜的分布式通用模塊。
4.計(jì)算引擎層
包含批處理,交互式處理和流式實(shí)時(shí)處理三種引擎
- MapReduce/Tez:典型的批處理計(jì)算引擎,允許用戶(hù)通過(guò)簡(jiǎn)單的API編寫(xiě)分布式程序;Tez基于MapReduce開(kāi)發(fā)的通用的DAG計(jì)算引擎,能夠更加高效實(shí)現(xiàn)負(fù)責(zé)的數(shù)據(jù)處理邏輯,目前應(yīng)用在Hive, Pig等數(shù)據(jù)分析系統(tǒng)中。
- Spark:通用的DAG計(jì)算引擎,提供了基于RDD的數(shù)據(jù)抽象表示,允許用戶(hù)充分利用內(nèi)存進(jìn)行快速數(shù)據(jù)挖掘和分析。
- Impala/Presto:分別由Cloudera和Facebook開(kāi)源的MPP系統(tǒng),允許用戶(hù)使用標(biāo)準(zhǔn)SQL處理存儲(chǔ)在Hadoop中的數(shù)據(jù),采用并行數(shù)據(jù)架構(gòu),內(nèi)置了查詢(xún)優(yōu)化器,查詢(xún)下推,代碼生成等優(yōu)化機(jī)制。
- Storm/Spark Streaming:分布式流式實(shí)時(shí)計(jì)算引擎,允許用戶(hù)通過(guò)簡(jiǎn)單的API完成實(shí)時(shí)應(yīng)用程序的開(kāi)發(fā)工作。
5.數(shù)據(jù)分析層
方便用戶(hù)解決大數(shù)據(jù)問(wèn)題而提供各種數(shù)據(jù)分析工具
- Hive/Pig/SparkSQL:支持SQL或腳本語(yǔ)言的分析系統(tǒng),降低用戶(hù)進(jìn)行大數(shù)據(jù)分析的門(mén)檻。
- Mahout/MLlib:機(jī)器學(xué)習(xí)庫(kù)學(xué)習(xí)庫(kù)實(shí)現(xiàn)了常用的機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘算法,Mahout最初是基于MapReduce實(shí)現(xiàn)的,目前正逐步遷移到Spark引擎上。MLib是基于Spark實(shí)現(xiàn)的。
- Apache Bean/Cascading:基于各類(lèi)計(jì)算框架而封裝的高級(jí)API,方便用戶(hù)構(gòu)建負(fù)責(zé)的數(shù)據(jù)流水線(xiàn)。
大數(shù)據(jù)架構(gòu):Lambda Architecture
LA最早Twitter工程師提出來(lái),大數(shù)據(jù)軟件設(shè)計(jì)架構(gòu),目的指導(dǎo)用戶(hù)充分利用批處理和流式計(jì)算計(jì)算各自的優(yōu)點(diǎn)實(shí)現(xiàn)一個(gè)復(fù)雜大數(shù)據(jù)處理系統(tǒng)。
- 批處理層:思想是利用分布式批處理處理計(jì)算,以批為單位處理數(shù)據(jù),并產(chǎn)生一個(gè)經(jīng)預(yù)算產(chǎn)生的只讀數(shù)據(jù)視圖。將數(shù)據(jù)流看成只讀,僅支持追加操作的超大數(shù)據(jù)集;優(yōu)點(diǎn)是吞吐率高,缺點(diǎn)是數(shù)據(jù)處理延遲高。
- 流式處理層:為降低批處理延遲。優(yōu)點(diǎn)是處理延遲低,缺點(diǎn)是無(wú)法進(jìn)行復(fù)雜的邏輯計(jì)算,得到結(jié)果往往是近似解。
- 服務(wù)層:整合批處理層和流式處理層,既保證數(shù)據(jù)延遲低,也能完成復(fù)雜的邏輯計(jì)算。對(duì)外提供統(tǒng)一的接口方便用戶(hù)使用。
一個(gè)經(jīng)典LA應(yīng)用案例:推薦系統(tǒng)
推薦系統(tǒng)設(shè)計(jì)目的:根據(jù)用戶(hù)的興趣特點(diǎn)和購(gòu)買(mǎi)行為,向用戶(hù)推薦感興趣的信息和商品。建立在海量數(shù)據(jù)挖掘基礎(chǔ)上的一種高級(jí)商務(wù)智能平臺(tái),幫助商家為其顧客購(gòu)物提供完全個(gè)性化決策支持和信息服務(wù)。
推薦系統(tǒng)數(shù)據(jù)流水線(xiàn)?
?
注:內(nèi)容主要整理自《大數(shù)據(jù)技術(shù)體系詳解 原理、架構(gòu)與實(shí)踐》 董西成
總結(jié)
以上是生活随笔為你收集整理的【大数据】企业级大数据技术体系概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【项目管理】接手一支技术团队,你会做些哪
- 下一篇: 【项目管理】专用中英文术语词汇 205