阿里巴巴資深技術(shù)專家,阿里云智能對象存儲研發(fā)總監(jiān) 羅慶超

羅慶超:各位嘉賓,各位朋友大家好,我是來自阿里巴巴的羅慶超。

今天我分享的議題是《基于云存儲的智能數(shù)據(jù)分析和處理架構(gòu)》,分為如下四部分來介紹。

存儲技術(shù)發(fā)展趨勢分析

縱觀存儲技術(shù)的發(fā)展,從1957年開始發(fā)明硬盤,1970年代發(fā)明 SAN(Storage Area Network),1980年代發(fā)明 NAS(Network Attached Storage),再到2006年發(fā)明 Object Storage。從中可以看出,存儲技術(shù)是不斷向上和應用結(jié)合的過程,但是這些技術(shù)并不是代次的替換,而是場景的擴展,因此即使到現(xiàn)在硬盤、SAN、NAS 技術(shù)依然廣泛部署在對應場景中。技術(shù)發(fā)展的過程中,關(guān)注技術(shù)出現(xiàn)的時間線,可以發(fā)現(xiàn),大約每隔10年就會有新技術(shù)的出現(xiàn)?,F(xiàn)在是2019年,距離對象存儲技術(shù)產(chǎn)生已經(jīng)13年過去了,下一個在存儲發(fā)展趨勢的技術(shù)會是什么呢?這也是本次交流想和大家一起探討的關(guān)鍵點。

接下來分析不同存儲技術(shù)的差異:

第一,存儲的部署和服務場景不同。SAN(塊存儲) 和 NAS(文件存儲)都是面向數(shù)據(jù)中心內(nèi)訪問的設備,而對象存儲產(chǎn)生的目的根本就不是在數(shù)據(jù)中心內(nèi)使用,而是面向互聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)(3G、4G、5G)而產(chǎn)生的,為大量使用的網(wǎng)頁、視頻、圖片、音頻、文檔訪問而設計。但在它產(chǎn)生后,為做前向兼容,特別是公共云上被同 Region 內(nèi)的 ECS(Elastic Compute Service) 訪問的場景,也提供了內(nèi)網(wǎng) VPC(Virtual Private Cloud) 訪問能力。

-第二,存儲的使用者不同。塊存儲的使用者是機器,它映射 LUN(Logical Unit Number) 給機器,被機器識別為盤,然后創(chuàng)建文件系統(tǒng)、數(shù)據(jù)庫。NAS 的使用者是辦公賬號,如 AD(Active Directory) 和 LDAP(Lightweight Directory Access Protocol) 賬號,該賬號登陸 NAS 設備的 IP(Internet Protocol) 地址就可以訪問共享文件夾,用于辦公場景;同時,為了兼容機器的訪問,也可以讓 AD 中的機器訪問 NAS。對象存儲的使用者是云賬號或者社交賬號,通過該賬號成功登陸云服務后就可以存儲數(shù)據(jù)了,為了兼容歷史應用,對象存儲也兼容 AD 賬號接入,以及支持 ECS 關(guān)聯(lián) RAM(Resource Access Management) 角色的機器訪問。

第三,訪問協(xié)議不同。SAN(塊存儲) 和 NAS(文件存儲) 是基于數(shù)據(jù)中心內(nèi)的協(xié)議,如 FC、iSCSI、NFS、CIFS、SMB 協(xié)議。而對象存儲是基互聯(lián)網(wǎng)訪問協(xié)議,如基于 HTTP/HTTPS 的 S3(Simple Stoage Service)/OSS(Object Storage Service) 訪問接口。

總結(jié)下各存儲的特點,關(guān)鍵在交互模式上的差別。SAN 是典型的機機交互模式,NAS 是人機交互模式,對象存儲是移動互聯(lián)網(wǎng)交互模式。SAN 的機機交互最簡單,就是要求盤時延低、帶寬大;NAS 的人機交互需求多,就像人管理圖書那樣會分門別類(目錄)和書名(文件名)、重命名、移動,還有復雜的權(quán)限、配額管理等;對象存儲的移動互聯(lián)網(wǎng)交互模式,上面會通過互聯(lián)網(wǎng)應用對外服務,可以做的比人機交互更簡單,因此可采用平坦的名字空間來管理對象,從而沒有 NAS 場景下大目錄、海量小文件的管理難題。不同的交互模式,大大影響了存儲背后的設計哲學,它也是系統(tǒng)設計的源頭和根本。

因此,可以從這些緯度,再來看相關(guān)存儲技術(shù)的未來發(fā)展趨勢。

SAN 存儲,本質(zhì)是一塊盤。機器使用快存儲,就是一個盤、線性地址空間,在它之上裝文件系統(tǒng)、數(shù)據(jù)庫、虛擬機等后,才能讓應用更好的使用。它的基礎(chǔ)功能特點,就是基本讀寫訪問的穩(wěn)定性,然后是數(shù)據(jù)保護的高級特性,之上就是性價比設計。在未來發(fā)展趨勢上,全閃存化是穩(wěn)定、低時延的明顯公共需求,而專有云會因性價比需求特別關(guān)注重刪、壓縮技術(shù),公共云則因彈性伸縮的特質(zhì)會更關(guān)注按需獲取、可承諾的SLA能力。

NAS 存儲,本質(zhì)是 企業(yè)員工+IP地址+共享文件夾。其典型場景就是企業(yè)辦公、媒體編輯、高性能計算等,在AI訓練中也廣泛使用 NAS。它的功能特點主要是圍繞目錄、文件等基礎(chǔ)特性設計,然后是數(shù)據(jù)保護的高級特性,以及性價比設計。這和 SAN 存儲很相像,所以在企業(yè)存儲領(lǐng)域會把 SAN 和 NAS 融合設計,叫做統(tǒng)一存儲。未來,專有云會基于性價比考慮,把硬盤和 Flash 做混合介質(zhì)設計,支持壓縮,支持更高的帶寬能力;而公共云上,穩(wěn)定、低時延的SLA,彈性、伸縮始終是關(guān)鍵趨勢。

對象存儲,本質(zhì)是 云賬號通過互聯(lián)網(wǎng)(或移動互聯(lián)網(wǎng))訪問網(wǎng)絡內(nèi)容。目前,廣泛使用的短視頻、圖片、音樂等,后面支撐的就是對象存儲技術(shù),它為應用提供了全局、全網(wǎng)共享的數(shù)據(jù)大池子,非常適合做為互聯(lián)網(wǎng)內(nèi)容的底層平臺。它的功能特點和 SAN/NAS 不同,強調(diào)底層 HTTP 穩(wěn)定性,以及數(shù)據(jù)的持久度、高可用性,之上更關(guān)注數(shù)據(jù)生命周期管理,因為對象存儲會保存10年甚至更多的歷史數(shù)據(jù),如何用**生命周期**策略來管理眾多歷史數(shù)據(jù)是關(guān)鍵。未來,在專有云領(lǐng)域,更多是面向二級存儲、非結(jié)構(gòu)化數(shù)據(jù)管理,而公共云上,則會面向5G,千億、萬億海量對象的訪問能力,數(shù)據(jù)生命周期的自動管理能力,以及在對象存儲上構(gòu)建數(shù)據(jù)湖分析平臺,去挖掘數(shù)據(jù)的價值。

基于存儲技術(shù)和趨勢的分析,阿里云存儲采用了融合架構(gòu)實現(xiàn),也是 SDS(Software Define Storage軟件定義存儲) 架構(gòu)實現(xiàn)。最底層是基礎(chǔ)設施團隊提供的通用服務器、網(wǎng)絡構(gòu)建的高性能集群。

在此之上是飛天軟件底座,包括夸父(遠程過程調(diào)用)、鐘馗(安全管理)、女媧(分布式協(xié)同)、伏羲(資源管理),和盤古(分布式文件系統(tǒng))。基于此分布式存儲軟件平臺,可以在上面構(gòu)建各種存儲服務,如塊存儲、文件存儲、對象存儲、表格存儲,以及HDFS存儲等,這是數(shù)據(jù)平面的設計;同時,控制平面基于神龍(分布式監(jiān)控)、天基(數(shù)據(jù)中心管理和分布式部署)構(gòu)建,管理平面則設計了赤驥(云存儲管控、運維平臺)系統(tǒng)支撐 devops 敏捷開發(fā)。對象存儲層要支持萬億級海量數(shù)據(jù)的管理,其核心是有巢(分布式KV)的海量元數(shù)據(jù)系統(tǒng),它提供了極致的性能和擴展能力;基于這些基礎(chǔ)產(chǎn)品,就可以構(gòu)建更上層的數(shù)據(jù)處理服務。

基于對象存儲的應用設計范式

當前,大量的計算應用構(gòu)建在對象存儲上,背后的原因是什么呢?正如前面提到的,對象存儲是面向互聯(lián)網(wǎng)、面向未來5G的存儲服務,它的數(shù)據(jù)量非常巨大,從而形成了海量的數(shù)據(jù)池,計算應用基于它去分析,更容易找出數(shù)據(jù)之間的關(guān)聯(lián)性、挖掘數(shù)據(jù)價值。所以,基于對象存儲來構(gòu)建數(shù)據(jù)分析體系,是公有云上常見的使用模式。

例如,阿里云的全球文娛互動直播解決方案,就是使用對象存儲系統(tǒng) OSS 為底座,通過 ECS 部署截圖、窄帶高清轉(zhuǎn)碼、拉流直播、錄制等軟件,形成文娛互動的能力;該方案提供全球多 Region 容災部署、千萬級高并發(fā)能力。

再比如,阿里云的在線教育解決方案,基于阿里云對象存儲 OSS,構(gòu)建媒體轉(zhuǎn)碼、媒體點播、視頻直播,來管理服務大量的視頻數(shù)據(jù)。該方案提供海量、安全、低成本、高可靠的云存儲,不限文件數(shù)量,基于 RESTful API 的互聯(lián)網(wǎng)任何位置存儲和訪問。

上述應用方案設計范式的典型特征,就是在**對象存儲 OSS 之上自主搭建計算、分析集群的能力**,實現(xiàn)業(yè)務需求。但當前的方案,對帶寬的消耗也是很明顯的,做好將計算功能 Offloading(卸載) 到存儲將是很有價值的工作。

對象存儲計算卸載的智能數(shù)據(jù)分析處理框架

前面介紹的方案解決了對應場景的使用問題,但也存在優(yōu)化點。首先是帶寬優(yōu)化,對于圖片、音視頻等多媒體文件,都是較大的對象,不管通過公網(wǎng)還是 VPC 內(nèi)網(wǎng),都會帶來較大的帶寬需求,會存在性能瓶頸;其次是時延問題,將大量的數(shù)據(jù)下載到手機、服務器處理,傳輸距離長、時延大,用戶體驗較差;然后是部署要求,需要購買機器、軟件,在進行安裝、配置、運維等,這都需要不少的投入。上述這些點都存在成本開銷,因此將合適的數(shù)據(jù)分析處理算子卸載到存儲、實現(xiàn)數(shù)據(jù)就近訪問,并采用 Serverless 的對外提供服務,將會降低帶寬開銷、減少時延、更易運維使用。

為了更好理解存儲卸載的架構(gòu),先介紹阿里云存儲產(chǎn)品族周邊的協(xié)作全景圖。不同數(shù)據(jù)類型的數(shù)據(jù),通過數(shù)據(jù)通道(使用日志服務)、數(shù)據(jù)直寫、數(shù)據(jù)上傳(使用遷移工具),將數(shù)據(jù)存放到云存儲產(chǎn)品(典型如對象存儲),然后通過對象存儲的事件觸發(fā)推送到輕計算(如函數(shù)計算),然后由各類典型的計算框架(MaxCompute, Batch Compute)分析處理,再將處理結(jié)果進行分發(fā)(利用 CDN 內(nèi)容分發(fā)網(wǎng)絡),最后提供給最終用戶讀寫。從中可以看出**數(shù)據(jù)導入、存儲、分析處理**可以全鏈路打通,關(guān)鍵是把數(shù)據(jù)和計算框架關(guān)聯(lián)起來。

因此,對象存儲計算卸載的智能數(shù)據(jù)分析處理框架核心是**構(gòu)建計算框架、并將它和存儲關(guān)聯(lián),為此在對象存儲最近的數(shù)據(jù)中心,部署計算引擎實現(xiàn)就近訪問。然后,在對象存儲的數(shù)據(jù)路徑上和計算框架打通,從而實現(xiàn)關(guān)聯(lián)。最后,為了支持種類豐富的數(shù)據(jù)分析處理,設計了智能的調(diào)度框架;該框架在底層支持 CPU、GPU、FPGA 硬件,然后將其抽象為物理機、虛擬機、容器從而屏蔽硬件差異,在此之上運行Linux、Windows運行環(huán)境并部署各類卸載的算子,最后通過集群調(diào)度系統(tǒng)提供離線請求、實時請求的靈活調(diào)度。通過該框架,只要卸載的算子通過驗證并部署過來,就可以提供集群化的服務,并實現(xiàn)云服務的 SLA 能力。

典型場景

通過對象存儲計算卸載的智能數(shù)據(jù)分析處理框架,支持如下的場景。

場景一,圖片處理。通過卸載圖片轉(zhuǎn)換算法的算子到調(diào)度框架,實現(xiàn)了圖片水印、縮放、裁剪、旋轉(zhuǎn)、格式轉(zhuǎn)換、效果共 6 個場景,完完全全實現(xiàn)了云上的 PS。以前做圖片處理是在本地機器上用 photoshop 完成,現(xiàn)在可以在云上實現(xiàn),而且還不用安裝軟件,并且云上 PS 還可方便的實現(xiàn)多人協(xié)作處理。使用方式也非常簡單,無需購買任何服務器、無需安裝軟件,直接使用 URL 請求完成,例如:

http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_200

它表示將圖片縮放為寬度 200 像素的新圖片,通過使用 FPGA 加速,和自主搭建 CPU 方式相比,單機的吞吐率可提升6倍,時延下降80%-90%,整體帶寬優(yōu)化可以達到5倍,更多信息參考 [圖片處理](https://help.aliyun.com/document_detail/99372.html)。

場景二,視頻推流。阿里是業(yè)界第一個實現(xiàn)支持多媒體推流的公共云對象存儲服務,通過卸載視頻流處理算子,可以在對象存儲 OSS 的推流配置完成后,得到 RTMP 推流的 OSS 地址,然后就可在客戶端推送視頻流到 OSS,例如:

ffmpeg -i 1.flv -c copy -f flv “rtmp://your-bucket.oss-cn-hangzhou.aliyuncs.com/live/test-channel?OSSAccessKeyId=LGarxxxxxxHjKWg6&Expires=1472199095&Signature=%2FAvRo7FTss1InBKgwn7Gz%2FUlp9w%3D”

通過此方法,無需搭建多媒體流服務,就可以讓視頻處理卸載到對象存儲,并切還能支持音頻流,在時延要求不高時還可做直播,更多信息參考 [視頻推流](https://help.aliyun.com/document_detail/44304.html)。

場景三,視頻處理。通過卸載視頻截幀算子,可實現(xiàn)零流量的截幀處理,直接使用 URL 請求完成,例如:

http://a-image-demo.oss-cn-qingdao.aliyuncs.com/demo.mp4?x-oss-process=video/snapshot,t_7000,f_jpg,w_800,h_600,m_fast

它表示在7秒鐘的時間,截1幀長寬800×600的圖片,更多信息參考 [視頻處理](https://help.aliyun.com/document_detail/64555.html)。

場景四,文檔處理。通過該卸載算子,可以直接預覽、轉(zhuǎn)換存儲在對象存儲 OSS 上的文檔。對于文檔預覽功能,只需提交請求預覽文檔,OSS 將會返回經(jīng)過轉(zhuǎn)碼的簽名 URL,然后基于該 URL 就可以在瀏覽器中進行文檔查看。由于和 OSS 天然結(jié)合,從而也完全復用了 OSS 的 SLA 能力,并享受 OSS 的安全設計,更多信息參考 [文檔處理](https://help.aliyun.com/document_detail/99373.html)。

場景五,圖片 AI。通過卸載圖片 AI 算子,實現(xiàn)人臉識別和圖像內(nèi)容識別。

人臉識別功能,使用時直接在人臉圖片的 URL 后加上參數(shù)就能直接返回識別的人臉結(jié)果,例如:

http://image-demo.oss-cn-hangzhou.aliyuncs.com/person.jpg?x-oss-process=imm/detecface

詳細信息參考 [人臉識別](https://help.aliyun.com/document_detail/99378.html)。

內(nèi)容識別,使用時直接在圖片的 URL 后加上參數(shù)就能直接返回識別結(jié)果,例如:

http://image-demo.oss-cn-hangzhou.aliyuncs.com/image.jpg?x-oss-process=imm/tagimage

詳細信息參考 [內(nèi)容識別](https://help.aliyun.com/document_detail/99383.html)。

場景六,SQL 卸載。在對象存儲 OSS 中,也叫 Select Object 功能,它將 SQL 的條件、Projection 算子下推,實現(xiàn)基本的過濾并且只返回有用的數(shù)據(jù),從而實現(xiàn)高效的數(shù)據(jù)查詢。Select Object 的卸載方式,和外部大數(shù)據(jù)平臺實現(xiàn) SQL 方式(OSS 未卸載)相比,時延可減少到原來的1/12,帶寬最多可以減少99%,詳細信息參考 [Select Object](https://help.aliyun.com/document_detail/91745.html)。

總結(jié)

第一,交互模式?jīng)Q定存儲系統(tǒng)的設計哲學。SAN 塊存儲是機機交互,NAS 文件存儲是人機交互,對象存儲是移動互聯(lián)網(wǎng)交互(3G/4G/5G),不同的交互模式?jīng)Q定后端的架構(gòu)和功能。

第二,基于對象存儲計算卸載的智能數(shù)據(jù)分析處理框架,可以靈活支持不同硬件、平臺、操作系統(tǒng)、運行環(huán)境、卸載算子,并提供實時、離線請求,滿足不同場景的數(shù)據(jù)分析處理需求。

-第三,存儲卸載的遵循原則。尋找合適的數(shù)據(jù)分析處理算子,實現(xiàn)數(shù)據(jù)就近訪問,提供 Serverless 的模式。

通過整體的介紹,可以相信在未來存儲發(fā)明13年后,新的技術(shù)將會出現(xiàn);基于對象存儲海量數(shù)據(jù)的數(shù)據(jù)分析處理,挖掘數(shù)據(jù)價值,是未來技術(shù)的重要發(fā)展趨勢。

我今天下午的份上都到這里,謝謝大家。

主持人:大家是否有問題要提問?

提問者:對象存儲里面,這個閃存是怎么用呢?是用在哪里呢?(整個架構(gòu)設計里面)

羅慶超:對象存儲是一個非常龐大的系統(tǒng),存儲了海量的數(shù)據(jù)。目前對象存儲包括標準存儲、冷存儲、歸檔存儲三種類型,它提供高可靠、高可用、高性能的對象存儲服務,能夠支持頻繁的數(shù)據(jù)訪問,因此在對象存儲中也有熱點數(shù)據(jù),因此也會使用 SSD 來緩存數(shù)據(jù)。

主持人:謝謝羅先生的解答。接下來我們有請下一位。

分享到

xiesc

相關(guān)推薦