【技術(shù)分享】大眾點(diǎn)評(píng)數(shù)據(jù)平臺(tái)架構(gòu)變遷

小核桃
1 評(píng)論 18434 瀏覽 61 收藏 6 分鐘
🔗 产品经理在不同的职业阶段,需要侧重不同的方面,从基础技能、业务深度、专业领域到战略规划和管理能力。

最近和其他公司的同學(xué)對(duì)數(shù)據(jù)平臺(tái)的發(fā)展題做了一些溝通,發(fā)現(xiàn)各自遇到的問(wèn)題都類似,架構(gòu)的變遷也有一定的相似性。

以下從 數(shù)據(jù)&架構(gòu)&應(yīng)用的角度對(duì)2012.07-2014.12期間大眾點(diǎn)評(píng)數(shù)據(jù)平臺(tái)的架構(gòu)變遷做一個(gè)概括性的總結(jié),希望對(duì)還處在數(shù)據(jù)平臺(tái)發(fā)展初期的同學(xué)有一些幫助,歡迎線下溝通。

1.0(2012.07)

1.1 數(shù)據(jù):

  1. 以支持用戶報(bào)表需求為主
  2. 初步沉淀出了一些底層模型
  3. 模型計(jì)算程序以python為主

1.2 架構(gòu):

  1. 存儲(chǔ)和計(jì)算都在GreenPlum
  2. GreenPlum采用雙集群熱備,一大一小,部分關(guān)鍵報(bào)表數(shù)據(jù)同時(shí)在兩個(gè)集群存儲(chǔ)、計(jì)算。
  3. 傳輸:公司的DBA同學(xué)將數(shù)據(jù)從Mysql、SQLServer拉出來(lái),落地成文件。傳輸程序每天凌晨解析落地的文件,然后將數(shù)據(jù)load到greenplum
  4. 調(diào)度:使用Quartz框架,依賴關(guān)系存放到表中,將依賴檢查做成一個(gè)腳本,下游job 調(diào)用方法check上游任務(wù)是否完成
  5. 監(jiān)控:用戶程序自主判斷異常,郵件、手機(jī)報(bào)警。

1.3 數(shù)據(jù)應(yīng)用:

  1. 報(bào)表數(shù)據(jù)以郵件的形式發(fā)送給用戶
  2. 用戶可以使用自定義sql的web查詢工具主動(dòng)查詢數(shù)據(jù)

2.0(2013.04)

dp2.jpg

2.1 數(shù)據(jù):

1. 有了明確的模型分層:

  • ODS:存放從原系統(tǒng)采集來(lái)的原始數(shù)據(jù)
  • DW:保存經(jīng)過(guò)清洗,轉(zhuǎn)換和重新組織的歷史數(shù)據(jù),數(shù)據(jù)將保留較長(zhǎng)時(shí)間,滿足系統(tǒng)最細(xì)粒度的查詢需要
  • DM: 數(shù)據(jù)集市?;诓块T或某一特定分析主題需要
  • RPT:直接面向用戶的報(bào)表

2. 形成了流量、團(tuán)購(gòu)、信息三大基礎(chǔ)模型及構(gòu)建于三大基礎(chǔ)模型之上的數(shù)據(jù)集市

3. 基于volocity開發(fā)了canaan計(jì)算框架。

4. 開發(fā)了一些自定義的UDF

2.2 架構(gòu):

1. 存儲(chǔ)和計(jì)算都基于HIVE

2. GREENPLUM作為HIVE的“cache”存在,供用戶做一些小數(shù)據(jù)的快查詢,報(bào)表存儲(chǔ)。

3. 調(diào)度:和canaan框架進(jìn)行整合,支持用戶快速新增任務(wù),并自動(dòng)導(dǎo)入任務(wù)依賴。

4. 主數(shù)據(jù):保存了數(shù)據(jù)倉(cāng)庫(kù)元數(shù)據(jù)信息,供用戶查詢和系統(tǒng)內(nèi)部各個(gè)模塊交互。

5. ACL:構(gòu)建了數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)訪問(wèn)權(quán)限控制,包括用戶權(quán)限申請(qǐng)、審批者審批、數(shù)據(jù)賦權(quán)等。

6. 傳輸:

  • 參考阿里DataX的設(shè)計(jì),實(shí)現(xiàn)了點(diǎn)評(píng)的異構(gòu)數(shù)據(jù)離線傳輸工具wormhole
  • 可視化界面,用戶通過(guò)界面操作,方便的將數(shù)據(jù)導(dǎo)入導(dǎo)出數(shù)據(jù)
  • 和調(diào)度、主數(shù)據(jù)等系統(tǒng)打通

7. 監(jiān)控:由于任務(wù)數(shù)量增長(zhǎng)較快(2000+),運(yùn)維已經(jīng)是個(gè)問(wèn)題此外,因此,我們花了較大精力做了可視化的工作:

dp3.jpg

2.3 數(shù)據(jù)應(yīng)用

  1. 運(yùn)營(yíng)工具:用戶自定義SQL,存儲(chǔ)基于HIVE
  2. 指標(biāo)(KPI):用戶自定義SQL,計(jì)算基于HIVE,結(jié)果放到GREENPLUM中,用戶可以根據(jù)指標(biāo)通過(guò)時(shí)間拼接成報(bào)表
  3. HIVE WEB:非常便捷的HIVE WEB工具,可用性可以甩hive原生的web界面HWI幾條街了

3.0(2013.12)

dp4.jpg

3.1 數(shù)據(jù):

  1. 有了明確的上層數(shù)據(jù)集市,各層數(shù)據(jù)集市打通,例如團(tuán)購(gòu)數(shù)據(jù)和流量數(shù)據(jù)打通
  2. 形成了用戶集市、商戶集市兩大主題
  3. 和算法團(tuán)隊(duì)合作建設(shè)推薦系統(tǒng)
  4. 提供框架和工具支持,引入外部數(shù)據(jù)開發(fā)者

3.2 架構(gòu):

  1. 引入mysql、hbase,支持線上服務(wù)
  2. 數(shù)據(jù)訪問(wèn)接口支持:API、Query Engine、RPC Service
  3. 引入shark支持臨時(shí)查詢,出于穩(wěn)定性考慮,犧牲性能,shark/spark集群和hadoop/hive集群物理隔離
  4. 數(shù)據(jù)質(zhì)量:用戶指定以條件,對(duì)計(jì)算結(jié)果做檢查

3.3 數(shù)據(jù)產(chǎn)品:

支持DashBoard

4.0(2014.12)

dp5.jpg

4.1 數(shù)據(jù):

  1. 持續(xù)擴(kuò)充/完善數(shù)據(jù)模型
  2. 數(shù)據(jù)規(guī)范化,主要包括:APP日志、渠道
  3. 完善數(shù)據(jù)開發(fā)平臺(tái),其他部門數(shù)據(jù)開發(fā)者100+

4.2 架構(gòu):

  1. 建設(shè)Redis Cluster,支持實(shí)時(shí)推薦、用戶畫像等服務(wù)
  2. Hadoop升級(jí)到Y(jié)ARN
  3. 引入Storm支持實(shí)時(shí)計(jì)算
  4. 推出類Kafka的分布式消息系統(tǒng),結(jié)合日志框架,支持日志數(shù)據(jù)的快速/低成本接入
  5. 建設(shè)元數(shù)據(jù)中心

dp64.3 數(shù)據(jù)產(chǎn)品:

推出專有數(shù)據(jù)產(chǎn)品,包括:運(yùn)營(yíng)效果評(píng)估、流量分析產(chǎn)品等。

 

來(lái)源:IT癮

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 非技術(shù)出身產(chǎn)品經(jīng)理的技術(shù)溝通秘籍!15天補(bǔ)齊程序/代碼、前端、后端、數(shù)據(jù)庫(kù)4大模塊基礎(chǔ)技術(shù)知識(shí)。
    詳情戳>http://996.pm/7daXE 或咨詢起點(diǎn)學(xué)院蘑菇(wx:qdxymg)

    來(lái)自廣東 回復(fù)
专题
15785人已学习12篇文章
本专题的文章分享了如何从0到1搭建结算平台
专题
13133人已学习11篇文章
内容管理系统是一种位于WEB 前端(Web 服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统。本专题的文章分享了内容管理系统(CMS)的设计指南。
专题
14485人已学习13篇文章
作为一名运营,需要持续对自己的经验进行总结并不断更新迭代。本专题的文章分享了运营方法论。
专题
13891人已学习15篇文章
深度学习(Deep learning)是一种机器学习的分支,它是通过构建多层神经网络来实现自主学习和预测的能力。本专题的文章分享了解读深度学习。
专题
39796人已学习26篇文章
近年来“物联网”的势头正足,5G网络宣告展开,未来的浪潮中一定会有“语音交互产品”的一席之地。
专题
32219人已学习19篇文章
一个合格的购物车是怎么设计出来的?