【技術(shù)分享】大眾點評數(shù)據(jù)平臺架構(gòu)變遷
最近和其他公司的同學(xué)對數(shù)據(jù)平臺的發(fā)展題做了一些溝通,發(fā)現(xiàn)各自遇到的問題都類似,架構(gòu)的變遷也有一定的相似性。
以下從 數(shù)據(jù)&架構(gòu)&應(yīng)用的角度對2012.07-2014.12期間大眾點評數(shù)據(jù)平臺的架構(gòu)變遷做一個概括性的總結(jié),希望對還處在數(shù)據(jù)平臺發(fā)展初期的同學(xué)有一些幫助,歡迎線下溝通。
1.0(2012.07)
1.1 數(shù)據(jù):
- 以支持用戶報表需求為主
- 初步沉淀出了一些底層模型
- 模型計算程序以python為主
1.2 架構(gòu):
- 存儲和計算都在GreenPlum
- GreenPlum采用雙集群熱備,一大一小,部分關(guān)鍵報表數(shù)據(jù)同時在兩個集群存儲、計算。
- 傳輸:公司的DBA同學(xué)將數(shù)據(jù)從Mysql、SQLServer拉出來,落地成文件。傳輸程序每天凌晨解析落地的文件,然后將數(shù)據(jù)load到greenplum
- 調(diào)度:使用Quartz框架,依賴關(guān)系存放到表中,將依賴檢查做成一個腳本,下游job 調(diào)用方法check上游任務(wù)是否完成
- 監(jiān)控:用戶程序自主判斷異常,郵件、手機報警。
1.3 數(shù)據(jù)應(yīng)用:
- 報表數(shù)據(jù)以郵件的形式發(fā)送給用戶
- 用戶可以使用自定義sql的web查詢工具主動查詢數(shù)據(jù)
2.0(2013.04)
2.1 數(shù)據(jù):
1. 有了明確的模型分層:
- ODS:存放從原系統(tǒng)采集來的原始數(shù)據(jù)
- DW:保存經(jīng)過清洗,轉(zhuǎn)換和重新組織的歷史數(shù)據(jù),數(shù)據(jù)將保留較長時間,滿足系統(tǒng)最細粒度的查詢需要
- DM: 數(shù)據(jù)集市?;诓块T或某一特定分析主題需要
- RPT:直接面向用戶的報表
2. 形成了流量、團購、信息三大基礎(chǔ)模型及構(gòu)建于三大基礎(chǔ)模型之上的數(shù)據(jù)集市
3. 基于volocity開發(fā)了canaan計算框架。
4. 開發(fā)了一些自定義的UDF
2.2 架構(gòu):
1. 存儲和計算都基于HIVE
2. GREENPLUM作為HIVE的“cache”存在,供用戶做一些小數(shù)據(jù)的快查詢,報表存儲。
3. 調(diào)度:和canaan框架進行整合,支持用戶快速新增任務(wù),并自動導(dǎo)入任務(wù)依賴。
4. 主數(shù)據(jù):保存了數(shù)據(jù)倉庫元數(shù)據(jù)信息,供用戶查詢和系統(tǒng)內(nèi)部各個模塊交互。
5. ACL:構(gòu)建了數(shù)據(jù)倉庫數(shù)據(jù)訪問權(quán)限控制,包括用戶權(quán)限申請、審批者審批、數(shù)據(jù)賦權(quán)等。
6. 傳輸:
- 參考阿里DataX的設(shè)計,實現(xiàn)了點評的異構(gòu)數(shù)據(jù)離線傳輸工具wormhole
- 可視化界面,用戶通過界面操作,方便的將數(shù)據(jù)導(dǎo)入導(dǎo)出數(shù)據(jù)
- 和調(diào)度、主數(shù)據(jù)等系統(tǒng)打通
7. 監(jiān)控:由于任務(wù)數(shù)量增長較快(2000+),運維已經(jīng)是個問題此外,因此,我們花了較大精力做了可視化的工作:
2.3 數(shù)據(jù)應(yīng)用
- 運營工具:用戶自定義SQL,存儲基于HIVE
- 指標(KPI):用戶自定義SQL,計算基于HIVE,結(jié)果放到GREENPLUM中,用戶可以根據(jù)指標通過時間拼接成報表
- HIVE WEB:非常便捷的HIVE WEB工具,可用性可以甩hive原生的web界面HWI幾條街了
3.0(2013.12)
3.1 數(shù)據(jù):
- 有了明確的上層數(shù)據(jù)集市,各層數(shù)據(jù)集市打通,例如團購數(shù)據(jù)和流量數(shù)據(jù)打通
- 形成了用戶集市、商戶集市兩大主題
- 和算法團隊合作建設(shè)推薦系統(tǒng)
- 提供框架和工具支持,引入外部數(shù)據(jù)開發(fā)者
3.2 架構(gòu):
- 引入mysql、hbase,支持線上服務(wù)
- 數(shù)據(jù)訪問接口支持:API、Query Engine、RPC Service
- 引入shark支持臨時查詢,出于穩(wěn)定性考慮,犧牲性能,shark/spark集群和hadoop/hive集群物理隔離
- 數(shù)據(jù)質(zhì)量:用戶指定以條件,對計算結(jié)果做檢查
3.3 數(shù)據(jù)產(chǎn)品:
支持DashBoard
4.0(2014.12)
4.1 數(shù)據(jù):
- 持續(xù)擴充/完善數(shù)據(jù)模型
- 數(shù)據(jù)規(guī)范化,主要包括:APP日志、渠道
- 完善數(shù)據(jù)開發(fā)平臺,其他部門數(shù)據(jù)開發(fā)者100+
4.2 架構(gòu):
- 建設(shè)Redis Cluster,支持實時推薦、用戶畫像等服務(wù)
- Hadoop升級到Y(jié)ARN
- 引入Storm支持實時計算
- 推出類Kafka的分布式消息系統(tǒng),結(jié)合日志框架,支持日志數(shù)據(jù)的快速/低成本接入
- 建設(shè)元數(shù)據(jù)中心
4.3 數(shù)據(jù)產(chǎn)品:
推出專有數(shù)據(jù)產(chǎn)品,包括:運營效果評估、流量分析產(chǎn)品等。
來源:IT癮
非技術(shù)出身產(chǎn)品經(jīng)理的技術(shù)溝通秘籍!15天補齊程序/代碼、前端、后端、數(shù)據(jù)庫4大模塊基礎(chǔ)技術(shù)知識。
詳情戳>http://996.pm/7daXE 或咨詢起點學(xué)院蘑菇(wx:qdxymg)