實時離線平臺Pora介紹@2015
概述
Pora是Personal Offline Realtime Analyze的簡稱。
幾年前,淘寶的搜尋結果已經不再千人一面的商品排序,而是深度融合了使用者的個性化偏好的搜尋結果。而實時變化的使用者行為,能幫助演算法更好地預測使用者接下來的個性化偏好。為此需要一個系統能實時地獲取使用者行為,並支援演算法實時修改使用者或商品的個性化資訊。這個系統開始了,叫做Pora。
整個搜尋pipeline上看,Pora位於引擎的離線部分。設計Pora的一個目標是實時處理流資料。因此Pora必須同時具備海量資料處理(高吞吐)和實時(低延遲)。除此之外,Pora還需要成為一個平臺。眾多演算法模組可以執行、靈活調整和實時生效。
Pora在搜尋實時計算體系的位置,見圖1:
圖1.搜尋實時計算體系
Pora總體架構
從誕生以來,Pora經過了多次演變。 最初是storm叢集上開發的應用。2014年遷移到Yarn叢集,IStream作為流計算框架。2015年,Pora做了Tec重構。業務不斷擴充套件,從簡單的使用者維度性別個性化到商品維度個性化,再到如今同時支援使用者和商品兩個維度多個場景的個性化,支援實時反作弊、推薦、賽馬等業務。2015年開始有線上學習框架,現有LR/FTRL演算法和實時矩陣分解演算法。
目前的Pora總體架構,如下圖2:
圖2.Pora總體架構
2015年Pora的重要改動
1. 基於Tec重構
原有Pora的核心層獨立出來,稱為Tec專案。Pora定位業務邏輯和演算法介面,開發更簡潔。Tec是輕量級實時計算框架,支援快速開發高吞吐、低延遲的實時應用。例如AliExpress(AE)搜尋的離線資料庫Dump業務,基於Tec實現了小時批量到秒級實時的跨越。
圖3. Pora的技術堆疊
2.線上學習
資料和模型是演算法的兩大核心,14年基於Pora,實現了資料的實時更新。15年在Pora上開發了基於Parameter Server架構的線上學習框架,實現了模型的實時更新。
圖3是Pora內部的線上學習框架,工作機理參考Google的DownPour SGD。特點是非同步,並行,平臺化。Parameter Server由Feature Worker和Hbase Model Storage實現。
線上學習的演算法,詳見文章《搜尋雙鏈路實時計算體系@雙11實戰》[5]
圖3. 線上學習框架
3. 7*24小時執行
iStream0.9版本開始支援熱切換配置,不用重啟應用。主搜Dump在2015年實現了24小時增量。這兩個基礎完備後,Pora之前的凌晨停頓去掉了,使用者個性化,推薦資料等都是24小時執行無延遲。在日常執行,處理資料延遲在秒級,演算法改動配置只需要執行熱切換命令。
4. 效能優化
Pora整體QPS,2014年雙11峰值94萬。到了2015年雙11期間,峰值達到501萬。2015年雙11當晚的零點流量高峰,Pora各應用無延遲,完成整條鏈路處理是秒級。整體QPS的提升,看著只有5倍多點,如果考慮業務的增長,效能的提升是不止的。
效能的提升,離不開離線組和莫問團隊在Yarn/HDFS/iStream/HQueue/Hbase的重要優化,以及CM8/ET2叢集的資源優化。這裡節約篇幅,就講一下Pora上的業務優化和系統優化。
- 業務優化:搜尋PV日誌的處理鏈精簡和儲存IO優化。直接讀取htable,避開HSF限流的超時。auctionProfile表的userTag維度統計,去掉不需要的業務日誌。
- 系統優化:htable的client端增加cache,雙十一當天高峰時段cache的平均命中率達到85%。優化Hqueue和Htable的配置,提高IO效能。解決auction/user/sync應用混合執行的機器熱點。
將來
今後有新的目標,敬請期待2016年。
參考文獻
1. 搜尋雙鏈路實時計算體系@雙11實戰:http://yq.aliyun.com/articles/2699
2. Google DownPour參考:http://research.google.com/archive/large_deep_networks_nips2012.html
相關文章
- OMS平臺介紹
- AI雲平臺介紹AI
- 數藏平臺功能介紹
- SAP BI版本介紹 (平臺)
- 移動跨平臺框架Flutter介紹和學習線路框架Flutter
- 逆向平臺Binary Ninja介紹
- SAP BI版本介紹 (平臺)(zt)
- 離線計算平臺系列之一
- 【.NET 遇上 GraphQL】 ChilliCream 平臺介紹
- xad位置營銷平臺介紹
- 微博平臺StatusNet研究(1):介紹
- LIBGDX遊戲引擎平臺介紹與搭建遊戲引擎
- 大資料和Hadoop平臺介紹大資料Hadoop
- HP-UX平臺cluster CM命令介紹UX
- 《離線和實時大資料開發實戰》(二)大資料平臺架構 & 技術概覽大資料架構
- 手遊平臺哪個靠譜 國內最好的手遊平臺介紹
- 雲管理平臺——虛擬化管理功能介紹
- 典型的SaaS平臺構建--Salesforce CRM介紹Salesforce
- 分散式配置管理平臺 - Disconf介紹分散式
- 手遊開發Android平臺周邊工具介紹Android
- DBAPI 資料介面釋出平臺功能介紹API
- 智林 - AI 答題應用平臺介紹AI
- Hadoop離線資料分析平臺實戰——340瀏覽器PV分析Hadoop瀏覽器
- steam打折時間表2022 steam平臺2022活動時間介紹
- 雲盾.態勢感知-實時日誌分析平臺上線
- VANTIQ—實時協作平臺
- 手遊sf平臺哪個最大呀 手遊私服平臺大全介紹
- Web前端培訓分享:前端開源平臺介紹Web前端
- 京東科技設計稿轉程式碼平臺介紹
- 秒針系統網路廣告交易平臺介紹
- 資料庫中跨平臺遷移方法介紹資料庫
- 源啟企業級智慧簡訊平臺介紹
- PodLM.ai播客內容生成平臺介紹AI
- 持續整合平臺 01 jenkins 入門介紹Jenkins
- flink sql 實時同步及離線同步SQL
- [譯]介紹一下漸進式 Web App(離線) - Part 1WebAPP
- NLPIR大資料平臺的文字資訊提取功能介紹大資料
- NFT數字藝術品交易平臺型別介紹型別