oppoencofree使用教程?大數據、AI 和雲計算的深入結合,讓無數企業正在啟動數智化轉型本文聚焦 OPPO 公司,探讨數智化轉型背景下,OPPO 如何構建新一代數據平台?這個過程中,它面臨着哪些挑戰?數據平台的構建和升級給 OPPO 帶來了哪些收益?......,我來為大家科普一下關于oppoencofree使用教程?下面希望有你要的答案,我們一起來看看吧!
大數據、AI 和雲計算的深入結合,讓無數企業正在啟動數智化轉型。本文聚焦 OPPO 公司,探讨數智化轉型背景下,OPPO 如何構建新一代數據平台?這個過程中,它面臨着哪些挑戰?數據平台的構建和升級給 OPPO 帶來了哪些收益?......
帶着這些問題,InfoQ 記者有幸在 QCon 2021 全球軟件開發大會·上海站,采訪到 OPPO 數據平台負責人 周強老師,和他探讨新一代數據平台建設的話題。
00:00 / 26:23
1.0x
網頁全屏
全屏
00:00
OPPO 數據平台負責人 周強
InfoQ:您好,周強老師,請您先簡要做一下自我介紹
周強:大家好,我叫周強,此前曾在土豆網、支付寶和阿裡雲做數據平台的工作。目前,任職 OPPO 雲計算中心數據平台部,負責 OPPO 數據平台的建設與技術演進。
InfoQ:這幾年,為适應業務需求,OPPO 構建了新一代大數據基礎設施,即 Cloud Lake。可以向大家介紹一下嗎?
周強:随着 OPPO 的數智化轉型,OPPO 對數據的應用要求越來越高,海量數據下算力、調度和存儲都面臨着巨大挑戰。Cloud Lake 面向未來五年,為公司提供新一代的大數據計算、存儲服務,為 OPPO 數據驅動公司業務發展打好堅實的基礎。
InfoQ:請問,Cloud Lake 誕生的背景是什麼?
周強:Cloud Lake 帶一個“Cloud(雲)",不得不先說下 OPPO 雲。OPPO 用兩年時間(2019 年和 2020 年)構建了符合自己業務特點的混合雲。目前,OPPO 業務已經拓展到東南亞、印度、歐洲和北美。OPPO 雲主要解決業務快速發展過程中基礎設施的成本與效率問題。
OPPO 雲是一朵混合雲、雲上雲。在國内,我們有自己的機房,部署 OPPO 的雲服務以及各類雲上産品。在海外,更多選擇與公有雲合作,采購公有雲的機器資源,包括 AWS 、谷歌,在公有雲上部署我們自己的雲服務,從而實現降低本增效的目的。
經過兩年多實踐,OPPO 在線業務已經實現 100%遷到 OPPO 雲,給公司節約了數億成本,在内部得到了比較好的評價。
這樣一個背景下,回到數據平台。OPPO 的數據平台,集群機器規模已近萬台,存儲近 EB 數據,每天離線計算任務有近百萬級,實時計算任務也有數千。根據近年的統計數據,差不多每年有 30%左右的規模增漲。這樣一個存量和增量的基礎上,我們的平台目标是什麼呢?
數據平台有兩點必須保障:第一是 SLA ,即平台穩定,不出現各類故障。在此基礎上需要保障業務任務準點率。我們平台上面跑了近百萬的數據任務,必須保證這些數據任務準點執行完成。在 SLA 三個 9 和準點率 100%要求下,我們還要把成本降下來。這驅使我們必須通過技術升級,平衡好 SLA 、準點率和成本。
InfoQ:OPPO 構建 Cloud Lake 的目的是什麼?想解決哪些問題?
周強:一句話來概括,在保障我們數據平台 SLA、 準點率這個前提下,通過技術升級達到降本增效的目的。
InfoQ:Cloud Lake 的構建過程分為幾個階段?關鍵性動作有哪些?
周強:大緻分為兩個階段。在介紹 Cloud Lake 前,必須介紹另一項工作,數據治理。我們發現,基于老平台的數據應用存在很多不合理的地方。治理手段缺失,缺少數據地圖、數據熱力、任務診斷、成本核算、質量監控等一系列數據治理的系統能力,幫助用戶保障數據及數據任務的準确、合理、高效。這部分工作是我們數據平台穩定和降本的一個必要前提條件。
所以,在正式開始 Cloud Lake 項目前,我們專門起了項目,補齊數據治理的短闆。有了數據治理的保障,我們才開展 Cloud Lake 的技術升級。
總體來說,可以概括為三個點:
第一是計算層面,實踐批流一體的,減少重複計算,實現元數據與存儲的統一。
第二是融合調度,将雲的在線算力與大數據的算力進行統一的調度,實現算力的潮汐補給。
第三是湖存儲,把原來 HDFS 存儲,逐步遷移到雲平台的對象存儲,進而衍生到統一的湖存儲。
InfoQ:Cloud Lake 建設過程中,數據湖存儲的技術選型是怎麼做的?
周強:說起存儲,我們中間經曆了一些試錯,也有組織和管理上的考量。大數據應用,使用 HDFS 通常采用三副本策略,做高可用和性能保障,成本相對比較高昂。存儲成本優化通常會采用糾删碼技術(EC),将數據 X3 變成 X1.2 到 X1.5 這樣的規模。決定引入 EC 後,又有兩個選擇,是使用 HDFS 的 EC,還是使用對象存儲的 EC。考慮 OPPO 雲計算中心有比較強大的存儲團隊,同時,參考公有雲的發展,大數據存儲正慢慢走對象存儲的技術路線。所以我們決定将數據遷移到雲存儲的對象存儲 OCS 中。截止目前,我們已經将 100PB 左右的冷存數據遷移到了 OCS。
除了冷數據,還有很多熱數據。熱數據的處理對我們系統挑戰更大。我們的選擇是把公司内部成熟的文件存儲系統 CBFS 和剛才介紹的對象存儲系統 OCS 做融合,統一兩者的元數據,并對存算分離後的性能要求做逐級緩存,同是輸出 S3 協議和 HDFS 協議,供用戶對接使用,形成新的數據湖存儲 ADLS。通過這樣的技術融合,實現冷、熱、溫數據分層、分介質存儲,保障用戶無感知遷移。
InfoQ:在構建 Cloud Lake 過程中,你們面臨的比較大的挑戰有哪些?針對這些挑戰,你們又是如何解決的?
周強:大數據技術發展已經有十多年曆史,OPPO 對大數據的應用也不是這一兩年的事。随着公司業務的發展,OPPO 數據平台建設走過了 5 個年頭。平台目前有很多存量的機器,也運行着很多存量業務。此時做技術升級,好比開着汽車換發動機,需要在保障好業務運行穩定的前提下進行技術升級。
在技術選型過程中,我們優先結合現有的儲備基礎,盡量的少颠覆 ,多融合,攫取我們技術儲備各個點上的長處,充分利用,奔着降本增效的核心目标努力,這是很重要的一點。
具體體現在升級過程中的兩個點上:
第一,以雲數融合調度為例,業内普通推崇雲原生,OPPO 的大數據平台是否也要走雲原生這條路?我們測試了雲原生方案,利用 K8s 調度 Spark 計算任務,可以調,但并不能完全滿足性能要求。因為 K8s 調度邏輯比 YARN 複雜,對于頻繁創建、釋放資源的場景并沒有優勢。
我們選擇把 Yarn 和 K8s 做融合。第一層調度,K8s 将 Yarn 的資源拉起來,第二層調度,通過 Yarn 對任務做資源分配。兩者結合後,同樣達到在線的算力資源釋放給大數據,同時又能夠保證我們原來一套基于 Yarn 構建的支撐體系不變(必須考慮用戶習慣和成本賬單)。既達到了目标,又讓我們的技術升級更加平滑。
第二,存儲方面,自研的數據湖存儲 ADLS,結合我們之前在互服業務上多年沉澱的文件存儲,對象存儲管理研發經驗,充分融合,同時兼容 HDFS,S3 接口,達到業務的無感知遷移。
InfoQ:Cloud Lake 構建完成後,給你們帶來的收益有哪些?
周強:第一,實實在在降本。剛開始啟動項目時,我們粗略估計了一下,按照 30%的業務增量,我們計劃 2021 和 2022 年少采買機器,預估少買 50%還是有把握的。立項會上,評委給我們提出了更高要求,是否能夠不買機器。老實說,當時我們心裡并沒有底,但還是答應了下來,因為我們相信做這個項目的價值與意義。實踐中,我們發現,這并非是一個無法達到的目标。從實際情況看,我們離線集群夜間是高峰,整個集群資源利用率在 90%到 100%,而日間利用率隻有 40%和 50%左右,隻要能扛過夜間的高峰,以現有的機器規模完全可以滿足未來一年 30%的業務增量。
經過雲數融合的實踐,夜間把一些在線資源釋放到我們的離線集群。未來一年,大概有八萬核左右的算力缺口,目前融合調度已經可以釋放了一萬核算力。相信未來一年不采買算力機器是一個完全可達到的目标。
第二,簡化技術體系。大數據和在線業務原本是兩套技術棧。OPPO 通過雲數融合,形成跨領域的技術交流,讓做大數據存儲的夥伴了解在線業務使用的對象存儲,做 K8S 調度的夥伴和做 YARN 調度的夥伴能夠将各自領域的技術優勢進行融合。同時,運維方面,也可以通過一套技術體系管理公司在線業務和離線業務。
第三,簡化組織和管理。有了技術上的融合,數據平台團隊和彈性計算團隊的夥伴逐步融合成一個大團隊,實現了人才複用。
InfoQ:從 OPPO 的實踐中,你覺得有哪些重要的經驗可以分享給對方?
周強:數據平台的建設必須結合自己公司的實際情況,考慮公司的業務規模,來決定自己的技術路線。現在的共有雲廠商,普遍提供優秀的數據平台服務。當業務規模較小的時候,使用公有雲方便、快捷且成本上也比較劃算。随着業務規模的擴展,自建平台的成本優勢會慢慢顯現出來,所以我們要判斷好公有雲成本曲線與自建平台成本曲線的交彙點,做出合理的選擇。
InfoQ:未來,你們在 Cloud Lake 上還會有哪些新的嘗試與打算?
周強:我們的技術升級有三點:批流一體的計算、雲數融合調度、數據湖存儲。批流一體的計算,我們做到了元數據統一,存儲統一。計算引擎統一,是未來可以積極探索的方向。雖然以 Flink 為代表的計算引擎,不斷地宣稱自己能做到批流一體,但是從實踐角度,一個系統想做得多,往往不能再每個方向上都做到極緻。統一的計算引擎我持保留意見,但不排斥這個方向的探索。這點上,我個人更傾于在批、流和交互式計算引擎上有一個公共層,通過這個公共層屏蔽不同引擎帶來的适配成本,而非在引擎層實現完全的計算統一。
關于雲數融合調度,目的是實現資源彈性,目前主要通過定時機制實現。因為我們知道業務資源利用規律,把這樣的規律通過規則配置到我們彈性策略中。但是,彈性調度應該是更敏捷型,更靈活的,系統可以感知負載情況,自動進行資源的釋放和回收。因為日常業務中會經常會有大規模任務重跑,任務突增等情況。這種情況下,靈活自主的擴縮容策略會對我們的業務有更好的幫助。
最後,在存儲方面,剛才我們提到的冷、熱、溫分層存儲目前還需要用戶來定義。如某張事實表數據多久變冷存,某張維表是否一直需要熱緩存加速。随着業務的變化,冷數據可能變成熱數據,也需要手動做參數調整。其實,數據冷、熱、溫的劃分,可以根據動态監測到的一些指标數據,通過算法自動地進行标識,轉化,以達到不同數據使用不同存儲介質,進而擁有更合理的存儲成本。
InfoQ:近年來,數據平台有哪些新的技術熱點?企業或技術人員應該對哪幾個技術熱點進行重點關注?
周強:近年數據平台的熱點不算多,個人比較看好數據平台會往一個更實時化的方向演進,這個實時化方向不僅是以 Flink 為代表的實時計算,而是彌合了實時計算和離線計算邊界的基礎上,整體的數倉體系更傾向于準實時化、實時化。Hudi、Iceberg 這兩個開源項目近年非常活躍可見一斑。
InfoQ:能不能展望一下,未來數據平台的發展趨勢是什麼樣?
周強:數據平台更多還是要與雲充分融合。近年來廣泛讨論的 Snowflake ,将數據倉庫搬到雲上,同時支持多雲部署,非常有代表性。我們的産品和能力嫁接到雲上,能夠更廣泛的輸出我們的服務。從實踐過程來看,OPPO 數據平台通過與雲的融合,在運維管理、穩定性、還有成本方面都得到了很好的收益。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!