企业级数据湖实践
簡介:2021云棲大會云原生企業(yè)級數(shù)據(jù)湖專場,阿里云智能高級解決方案架構(gòu)師周皓為我們帶來《企業(yè)級數(shù)據(jù)湖最佳實踐》的分享。
本文主要分享了數(shù)據(jù)湖的核心能力及幾個最佳實踐案例。
以下是精彩視頻內(nèi)容整理
一、統(tǒng)一數(shù)據(jù)存儲,多引擎對接,運(yùn)存分離
在這一節(jié)開始之前,先回顧一下數(shù)據(jù)湖幾個核心的能力:
- 集中存儲、多種引擎對接
各種類型的數(shù)據(jù)用集中方式統(tǒng)一存儲在OSS,無縫對接如 EMR 等各類計算引擎,支持開源計算生態(tài)
- 數(shù)據(jù)無需處理、直接存儲
對接多種數(shù)據(jù)輸入源,提供便捷的數(shù)據(jù)接入和數(shù)據(jù)消費通道,多種類型數(shù)據(jù)都可以按照原始產(chǎn)生的形態(tài)直接存儲,隨需再進(jìn)行處理,對比傳統(tǒng)數(shù)倉 schema 限制結(jié)構(gòu),更適配業(yè)務(wù)快速發(fā)展的應(yīng)用場景
- 更靈活架構(gòu)、運(yùn)存分離
存算分離架構(gòu)帶來非常好的靈活性,通過計算與存儲解耦合提供更靈活的系統(tǒng)架構(gòu)設(shè)計空間,讓計算、存儲資源具備更好的擴(kuò)展性,充分提高資源利用率,極大降低運(yùn)維管理難度、優(yōu)化 TCO。這也是本文介紹案例中,客戶選擇數(shù)據(jù)湖方案的一個重要原因。
二、最佳實踐案例
Yeahmobi- 移動互聯(lián)網(wǎng)廣告實踐案例
Yeahmobi,作為一家技術(shù)驅(qū)動發(fā)展的企業(yè)國際化智能營銷服務(wù)公司,主要涉及到的就是智能營銷業(yè)務(wù),每天的業(yè)務(wù)波動非常大。如果采用傳統(tǒng)的架構(gòu),勢必要按照業(yè)務(wù)的峰值準(zhǔn)備資源,就會造成很多 CPU 資源無法得到最大化的利用。這也是許多智能營銷互聯(lián)網(wǎng)公司的痛點。基于此,大多企業(yè)選擇了數(shù)據(jù)湖方案。
- 存儲與計算解耦合,讓計算資源使用量可以按照線上業(yè)務(wù)量的變化動態(tài)增減,減少常駐資源量
- 多種不同類型計算引擎,輕松對接在線廣告各種場景所需要的分析要求
- 通過數(shù)據(jù)湖方案,整體TCO優(yōu)化達(dá)到30%,讓業(yè)務(wù)形態(tài)更具競爭力
只要將數(shù)據(jù)存儲在數(shù)據(jù)湖中,計算資源可以按照業(yè)務(wù)的變化實現(xiàn)動態(tài)的伸縮與創(chuàng)建,只需維護(hù)一個最小的常駐計算資源就足夠了。在這種情況下,再結(jié)合兼具半托管和全托管模式的 EMR 動態(tài)伸縮計算及分析的能力,可以極大地降低運(yùn)維的難度。這也是許多智能營銷公司選擇這套數(shù)據(jù)湖方案的原因。Yeahmobi 選擇這套數(shù)據(jù)湖方案后,TCO 降低了30%。
數(shù)禾科技-互聯(lián)網(wǎng)金融實踐案例
數(shù)禾科技是一家互聯(lián)網(wǎng)金融科技公司,因其所在行業(yè)的特性及本身的業(yè)務(wù)場景需求,對數(shù)據(jù)的安全可靠性,以及數(shù)據(jù)訪問控制的細(xì)粒度都有很高的要求。數(shù)禾服務(wù)了大量內(nèi)部和外部用戶,數(shù)據(jù)安全敏感,要求嚴(yán)格的數(shù)據(jù)權(quán)限隔離。其次,整個業(yè)務(wù)變化也需要非常強(qiáng)勁的吞吐能力來支撐計算及存儲。
其實在數(shù)禾的發(fā)展過程中,最早采用的是最常見最通用的大數(shù)據(jù)集群構(gòu)建方式既通過服務(wù)器搭建,然而很快就發(fā)現(xiàn)這種方式無法跟上業(yè)務(wù)的快速發(fā)展:一是存儲成本顯著增長,一個標(biāo)準(zhǔn)的 HDFS 集群是三個冗余備份,在考慮到水位,整個文件系統(tǒng)的開銷等因素后,存儲成本是顯著增加的。二是因為業(yè)務(wù)的快速擴(kuò)容, 如果頻繁增加 HDFS 集群節(jié)點,會影響業(yè)務(wù)的可用性。
基于以上原因,數(shù)禾選擇了阿里云數(shù)據(jù)湖方案。數(shù)據(jù)湖采用 對象存儲 OSS 作為底座,無需擔(dān)心容量的擴(kuò)展或是小文件的增加。文件數(shù)量的快速增加會對 HDFS 集群的 NameNode 造成比較大的壓力,但是對象存儲結(jié)構(gòu)無需擔(dān)心文件數(shù)量增加,哪怕是到萬億級的 object 的數(shù)量,也沒有任何壓力。采用了數(shù)據(jù)湖方式以后,多 bucket 切分搭配阿里云的 RAM 體系,可以做到非常細(xì)膩度的訪問控制。再通過例如 OSS 與 EMR 在軟件層合作優(yōu)化的 JindoFS 方案,能夠輸出超過 TBS 的吞吐能力,以支撐整個業(yè)務(wù)的需求,實際操作體驗超越自建HDFS。此外,通過云上彈性資源能力,任務(wù)可以隨需進(jìn)行千臺規(guī)模節(jié)點的彈性伸縮,達(dá)到降本增效的效果。
數(shù)據(jù)湖經(jīng)典使用場景-冷熱數(shù)據(jù)分層
模式特點
- 應(yīng)用與業(yè)務(wù)系統(tǒng)的長期運(yùn)行積累了大量的冷數(shù)據(jù),不斷增長的冷數(shù)據(jù)對現(xiàn)有集群的存儲空間壓力大
- 需要解決冷數(shù)據(jù)存儲空間,同時為訪問頻繁的熱數(shù)據(jù)留出性能優(yōu)化空間
- 優(yōu)化冷數(shù)據(jù)的長期存儲成本,要能遠(yuǎn)低于熱數(shù)據(jù)存儲成本,并且冷數(shù)據(jù)要能便于讀取
冷熱數(shù)據(jù)分層是數(shù)據(jù)湖的一個經(jīng)典使用方式。應(yīng)用與業(yè)務(wù)系統(tǒng)的長期運(yùn)行會產(chǎn)生大量冷數(shù)據(jù),對整個集群的運(yùn)維產(chǎn)生非常大的壓力。一方面是規(guī)模上的壓力,通用的大數(shù)據(jù)集群里面的服務(wù)器架構(gòu)比較同構(gòu)導(dǎo)致冷數(shù)據(jù)的優(yōu)化的空間不大,如果通過增加高密度的或者異購的機(jī)型,在實踐中會導(dǎo)致集群運(yùn)維管理難度的大幅度提升。另外一方面是在 IDC 環(huán)境中,要想快速擴(kuò)容,物理集群會受限于很多因素。這也是很多數(shù)據(jù)湖客戶從傳統(tǒng)的大數(shù)據(jù)集群架構(gòu)往數(shù)據(jù)湖遷移的原因。目前已經(jīng)有很多客戶擁抱了數(shù)據(jù)湖,全面使用 OSS。無法一步到位的時候,客戶會先將溫數(shù)據(jù)和冷數(shù)據(jù)先沉降到 OSS。早在2016年,OSS 就已經(jīng)與 Hadoop 生態(tài)充分融合,Hadoop 3.0可以直接訪問 OSS,寫好的任務(wù)不用做任何修改就可以直接運(yùn)行,大幅減少了遷移的難度。遷移過來之后,OSS 上的智能生命周期管理簡單地配置一個生命周期策略,就可以按照規(guī)則把冷數(shù)據(jù)進(jìn)一步沉降到歸檔和冷歸檔類型中,進(jìn)一步降低成本。
教育科技平臺實踐案例
客戶價值
- 通過 OSS 多存儲類型和數(shù)據(jù)生命周期管理,實現(xiàn)冷數(shù)據(jù)長期存儲的成本優(yōu)化,通過云上承載冷數(shù)據(jù),IDC 自建集群無需擴(kuò)容,解決機(jī)房空間難題
- 通過 OSS 數(shù)據(jù)湖的高可擴(kuò)展性,有效的幫助客戶解決了大數(shù)據(jù)存儲的性能吞吐問題,規(guī)避了自建 HDFS 文件系統(tǒng)在元數(shù)據(jù)節(jié)點的性能瓶頸
- 客戶已經(jīng)在規(guī)劃進(jìn)一步通過云上彈性資源去擴(kuò)容計算資源,減小一次性資源投入
這是一個冷熱分層的實際案例。教育平臺涉及到的業(yè)務(wù)場景包含各種日志的采集,通過使用的日志幫助學(xué)生改進(jìn)學(xué)習(xí)。這個客戶也面臨一個問題,大量日志采集以后對于空間占用會造成非常大的壓力。客戶又是自建 IDC,很難在一段時間內(nèi)就完成物理空間的擴(kuò)容,所以最后選擇了數(shù)據(jù)湖方案。通過專線打通了 IDC 和阿里云的連接,使用阿里云的資源擴(kuò)容現(xiàn)有 IDC ,再通過專線將線下的冷數(shù)據(jù)遷移到了數(shù)據(jù)湖中,為線下的業(yè)務(wù)騰出了空間,壓力釋放以后,空間就非常靈活了。然后進(jìn)一步將很多應(yīng)用日志直接入湖,通過對象存儲及多版本能力,為數(shù)據(jù)可靠性提供更多的保障,同時也使用了冷歸檔能力將溫數(shù)據(jù)進(jìn)一步沉降以降低成本。入湖的數(shù)據(jù)則通過專線拉到本地計算,但是在數(shù)據(jù)湖的使用過程中,客戶想進(jìn)一步使用云上的計算資源以擴(kuò)容計算能力,就無需一次性采購線下的計算服務(wù)器,進(jìn)一步降低成本。
全球化在線游戲?qū)嵺`案例
客戶價值
- 通過日志服務(wù),打通應(yīng)用日志的采集、投遞,貫通實時計算引擎,為后續(xù)的用戶熱力圖 ,用戶軌跡,用戶登陸,在線人數(shù)統(tǒng)計提供數(shù)據(jù)支撐
- 通過 OSS 數(shù)據(jù)湖承載所有日志數(shù)據(jù)的長期存儲,與離線分析引擎結(jié)合,能夠更深入對日志數(shù)據(jù)進(jìn)行分析
- 全球統(tǒng)一化架構(gòu)部署,對于一款面向全球化的游戲,可以保證在全球任何一個區(qū)域都可以使用相同的部署方式,簡化運(yùn)維部署難度
一款全球化的游戲一般要服務(wù)全球玩家,這就要求全球統(tǒng)一化架構(gòu)部署以降低運(yùn)維難度,而阿里云數(shù)據(jù)湖在全球任何一個區(qū)域都可以使用相同的部署方式,可以完全匹配客戶的需求。此外,游戲行業(yè)日志的采集非常關(guān)鍵,比如游戲在線人數(shù)的大屏展示,就是通過采集應(yīng)用服務(wù)器的日志去做分析。針對這個客戶,我們采用了阿里云的日志服務(wù),從千臺萬臺機(jī)器規(guī)模的應(yīng)用服務(wù)器中實時采集日志,推送到 Flink 中做實時計算,并將結(jié)果實時寫入到 ClickHouse,提供實時性的查詢。OSS 在這個場景中,作為了日志的的永久存儲。SLS 把采集的日志定期投遞到 OSS ,并且通過 OSS SDK 和一些命令行工具,直接將一些應(yīng)用日志傳到 OSS ,存儲到 OSS 的日志可以進(jìn)一步通過離線分析,如通過 Spark、Hive 做更大規(guī)模的分析,并將深度分析的結(jié)果再寫入到 ClickHouse,提供更多的分析查詢。
小鵬汽車-自動駕駛實踐案例
數(shù)據(jù)湖與各種存儲產(chǎn)品之間是無縫打通的。在這個自動駕駛案例中,我們提供了一套完整的從采集到存儲到分析的方案。閃電立方提供了車載的部署能力,解決了自動駕駛場景下每天采集的大量路面數(shù)據(jù)的存儲問題,采集完以后通過就近的接入點快速地存儲到 OSS 數(shù)據(jù)湖中去,解決了最后一公里的問題,把數(shù)據(jù)上傳到 OSS 以后,可以直接使用阿里云的各項計算引擎,包括 EMR、MaxCompute 等對數(shù)據(jù)進(jìn)行各種各樣的清洗標(biāo)注和分析。CPFS 是阿里云上的一款支持大規(guī)模并行計算的存儲產(chǎn)品,它有非常高的吞吐能力,并且是 posix 語義的。OSS 數(shù)據(jù)湖與 CPFS 無縫的數(shù)據(jù)流動,使得訓(xùn)練數(shù)據(jù)也能傳遞到 CPFS中,對數(shù)據(jù) GPU 進(jìn)行分析,并將最終的結(jié)果寫回到 OSS 做長期的存儲。
不光在互聯(lián)網(wǎng)領(lǐng)域,包括自動駕駛、高性能計算等都已經(jīng)廣泛的應(yīng)用數(shù)據(jù)湖。希望有更多的用戶可以在生產(chǎn)業(yè)務(wù)中引入阿里云數(shù)據(jù)湖。
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
- 上一篇: 3月2日,阿里云开源 PolarDB 企
- 下一篇: 30人的产研团队如何高效协同?