小紅唇和阿里雲大資料平台的牽手要從
2023年5
月份說起。隨著小紅唇業務的發展,使用者量和內容量不斷增加,迫切需要推出個性化功能,增加使用者的使用時長和使用者粘度。對於乙個沒有大資料
/機器學習經驗和技術儲備,並且開發人員有限的年輕團隊,在業務快速發展的情況下,如何在非常有限的開發資源和不影響正常業務開發的前提下,快速建立起自己的推薦系統,成為擺在小紅唇技術團隊面前乙個不小的挑戰。
小紅唇的技術團隊在收到產品關於個性化推薦的需求後,開始了技術調研,其中包括了主流的開源技術棧和阿里雲在
2016
1所示。
1. 推薦系統架構圖
在這個架構中,我們選擇了非常流行的開源
etl
工具來對使用者行為,物品,使用者等推薦系統依賴的資料進行清洗,並按照推薦引擎要求的格式同步到大資料計算服務中。由持續整合工具
jenkins
觸發資料的清洗和上傳到
odps
(maxcompute
的前身)
這個架構簡單清晰,但也有著很多不完美的地方,特別在資料的採集和清洗方面,還顯得比較初級和脆弱,首先使用者行為資料完全依賴了在
中的埋點,而埋點的最初的設計也存在了一些問題導致資料缺失。另外,推薦引擎沒有乙個很好的觸發機制,通過外部的持續整合工具
jenkins
的觸發,在初期有時會遇到推薦引擎系統不穩定的問題,導致離線計算失敗,使用者的推薦列表沒有得到及時的更新。
隨著推薦系統的上線,小紅唇也開啟了大資料之旅,得益於數加平台完整的大資料計算和應用設計,小紅唇的技術團隊在熟悉和上線推薦系統的過程中,也逐漸收穫了大資料的核心理念,對大資料完整技術棧也有了更深的認識。
2016
年是小紅唇快速發展的一年,隨著業務的不斷增長,各種產品、市場運營活動的設計和決策也需要有各種各樣的資料作為支撐了。於是在快速上線了推薦系統之後,擺在小紅唇面前的另乙個大資料挑戰就是搭建自己的資料倉儲。
在推薦系統的建設中,小紅唇技術團隊也意識到阿里雲數加平台在普惠大資料理念上的前瞻性,整個數加平台產品線的布局對於像小紅唇這樣的初創公司,在大資料實踐上是容易實現彎道超車的。
資料倉儲的重要性毋庸置疑,在雲計算和大資料時代,資料倉儲的建設也在不斷的進化中。開源生態中基於
hadoop/hive
搭建資料倉儲的成功案例不勝列舉。數加平台基於
maxcompute(原odps,
的強大計算能力,也正是對這一理念的完美詮釋。於是小紅唇技術團隊也在橫向對比之後,毅然決定在數加平台上進行資料倉儲的建設。
小紅唇基於數加平台的資料倉儲搭建分成了兩個階段。第一階段由於主要的業務伺服器並沒有部署在阿里雲上,使得資料的採集和清洗變得比較麻煩,跨網的資料傳輸和備份,各種週期任務比較複雜。如圖
2所示。
2. 第一階段數倉架構
在第一階段的數倉建設中我們已經在計畫業務伺服器向阿里雲搬遷了,所以把資料需求最緊要的資料做了向
odps
的同步(同步方式也有用
datax
和odps
的tunnel
),在資料開發
ide中對資料進行
etl和
olap
,產出bi
報表。另外還有一些資料會應用到業務系統中,我們通過
rds
進行儲存。
在資料倉儲第一階段的建設和使用中,我們已經在積極的籌備業務系統向阿里雲的搬遷。隨著搬遷的完成,我們也迅速開始了第二階段的改造。同時更多的數加產品也在不斷的內測和發布中,借助於新的產品和上下游的不斷打通,我們的架構也進行了演進,如圖
3所示。
3. 第二階段數倉架構
第二階段與第一階段主要的區別就在於資料採集和清洗部分是否直接納入在數加平台內部,而對於資料倉儲的建設而言,這兩個環節又是非常重要的部分。在第二階段中,我們的業務資料庫已經在阿里雲的
rds上了,通過
dataide
就可以方便的把需要的資料同步到大資料開發平台中,這也是小紅唇目前的架構。在把資料採集,資料清洗,資料開發和資料應用形成完整閉環後,小紅唇在大資料領域的各種嘗試和產出得到了巨大的發展:
首先,我們基於資料倉儲的方**在數加平台上建設的資料倉儲,通過簡單的命名規則就構建起各種層級和維度的資料,依賴
maxcompute(原odps,
的強大計算能力,和簡單的
sql處理語言,小紅唇技術團隊只有一名資料工程師就能快速生產出各種資料,以支撐各種
bi報表。
第二,流計算的引入,提高了小紅唇業務的實時表達能力而又沒有增大開發成本。對某些業務還起到了非同步,解耦和降級的作用,大大降低了對線上已有的複雜業務的影響,因而降低了開發和維護成本。
第三,與機器學習演算法平台
pai
第四,基於統一的資料儲存和計算,我們通過對使用者的特徵抽取,開發了自己的一套基於內容的推薦模型(通過使用者對內容的行為,在
odps
中通過sql/mr
的計算生成使用者特徵,通過
datax
儲存在ots
中,在實時的計算中獲取並對使用者進行基於興趣的內容推薦),和阿里雲推薦引擎一起,為使用者提供個性化內容,也取得了不錯的效果。同時也在智慧型搜尋方面做了初步的嘗試。
當然,小紅唇在數加平台上的大資料實踐也並非一帆風順,期間也有對於產品理解和數加平台自身的一些問題,比如初期大量的資料搬運和同步工作掣肘了業務的快速開發,
maxcompute(原odps,
提供的運算元不太豐富,需要自行開發
udf(
maxcompute2.0
將會有巨大的改進,同時更多的上下游產品被打通),初期數加平台和其它上下游產品打通不夠等等。但是數加平台強大的計算能力和完整的產品布局對小紅唇的業務擴充套件和決策支撐起到了關鍵的作用。
技術的不斷進化和公升級需要匹配業務的水平和規模,對於小紅唇這樣的初創企業,背靠阿里雲強大的平台,能夠快速應用新技術並得到價值的轉化,實現彎道超車,並不斷完善自身技術架構和能力,在不斷的創新中得到發展。
OA的一場盛宴
今天有幸參加了一場泛微的在深圳的一場產品發布會。其實,今年年初基於oa的應用,就有過乙份構想。當時,在文中提出了oa已經從傳統的非結構化資料的事務事件流向向乙個基於事務驅動關係的應用轉變。記著會上廠商的一位職業經理人所說的一句話特別有意思,一套oa系統在十年前,再到今天已經發生了很大的變化了。已經從...
一場生態紀的盛宴真的來了嗎?
青島,一座以揚帆起航為寓意的海濱之城,在今年,成為了華為中國生態夥伴大會2018的主場。在去年的這個時候,我們相聚在長沙,形成了 長沙宣言 和相應的行動綱領。今天在青島最主要的目的,是讓我們一起來迎來生態紀。華為ebg中國區總裁蔡英華的開場主題演講就以 生態紀以行動共創指數級繁榮 為題,令人耳目一新...
程式設計之美初賽第一場
時間限制 12000ms 單點時限 6000ms 記憶體限制 256mb a市是乙個高度規劃的城市。可是科技高階發達的地方,居民們也不能忘記運動和鍛鍊,因此城市規劃局在設計a市的時候也要考慮為居民們建造乙個活動中心。方便居住在a市的居民們能隨時開展運動。鍛鍊強健的身心。城市規劃局希望活動中心的位置滿...