數(shù)據(jù)緩存概述
對(duì)于一些數(shù)據(jù)量較大的業(yè)務(wù)數(shù)據(jù),例如訓(xùn)練模型等,ECI支持創(chuàng)建數(shù)據(jù)緩存(DataCache)來(lái)提前拉取數(shù)據(jù),將數(shù)據(jù)緩存到本地,以便在創(chuàng)建ECI實(shí)例時(shí)可以直接掛載使用,從而減少實(shí)例啟動(dòng)耗時(shí),避免數(shù)據(jù)重復(fù)下載,節(jié)約使用成本。本文為您介紹什么是數(shù)據(jù)緩存,包括功能簡(jiǎn)介、應(yīng)用場(chǎng)景、創(chuàng)建和使用方式、計(jì)費(fèi)說(shuō)明等。
功能簡(jiǎn)介
為了解決數(shù)據(jù)加載與容器鏡像加載解耦的問(wèn)題,ECI提供了數(shù)據(jù)緩存的功能。在創(chuàng)建業(yè)務(wù)應(yīng)用前,您可以提前創(chuàng)建數(shù)據(jù)緩存,將業(yè)務(wù)應(yīng)用所需的數(shù)據(jù)緩存到本地。在創(chuàng)建業(yè)務(wù)應(yīng)用時(shí),可以直接掛載使用緩存好的數(shù)據(jù)。
通過(guò)數(shù)據(jù)緩存功能,您無(wú)需將數(shù)據(jù)打包進(jìn)應(yīng)用鏡像,從而避免因數(shù)據(jù)變更而頻繁更新鏡像;也無(wú)需從遠(yuǎn)端的倉(cāng)庫(kù)下載數(shù)據(jù),避免因下載數(shù)據(jù)導(dǎo)致應(yīng)用啟動(dòng)過(guò)慢。
應(yīng)用場(chǎng)景
適合數(shù)據(jù)量大,或者數(shù)據(jù)經(jīng)常更新的場(chǎng)景。例如在機(jī)器學(xué)習(xí)場(chǎng)景下,是否使用數(shù)據(jù)緩存部署模型應(yīng)用的流程如下:
不使用數(shù)據(jù)緩存
下載模型數(shù)據(jù)到開(kāi)發(fā)環(huán)境。
將模型數(shù)據(jù)和應(yīng)用打包制作容器鏡像,并創(chuàng)建鏡像緩存。
基于鏡像緩存部署應(yīng)用。
使用數(shù)據(jù)緩存
創(chuàng)建數(shù)據(jù)緩存拉取模型數(shù)據(jù)。
將應(yīng)用打包制作容器鏡像,并創(chuàng)建鏡像緩存。
基于鏡像緩存和數(shù)據(jù)緩存部署應(yīng)用。
從流程可以看出,如果不使用數(shù)據(jù)緩存,會(huì)帶來(lái)容器鏡像過(guò)大的問(wèn)題,并且如果要更新模型,則需要重新制作鏡像,重復(fù)鏡像版本發(fā)布、鏡像緩存制作,應(yīng)用部署等工作。如果使用數(shù)據(jù)緩存,將數(shù)據(jù)和鏡像解耦,在要更新模型時(shí),只需重新制作數(shù)據(jù)緩存,重新掛載到應(yīng)用即可。
創(chuàng)建方式
您可以自行設(shè)置數(shù)據(jù)緩存的屬性來(lái)創(chuàng)建數(shù)據(jù)緩存。一個(gè)數(shù)據(jù)緩存主要具有以下屬性:
存儲(chǔ)路徑
創(chuàng)建時(shí),可以指定數(shù)據(jù)存儲(chǔ)空間(Bucket)以及在空間里的存儲(chǔ)路徑(Path)。如果沒(méi)有指定Bucket,默認(rèn)存儲(chǔ)在default。
數(shù)據(jù)源
一般情況下,業(yè)務(wù)數(shù)據(jù)通常存儲(chǔ)在NAS文件系統(tǒng)、OSS存儲(chǔ)空間等,對(duì)于一些模型,可能是存儲(chǔ)在ModelScope或者HuggingFace上。ECI對(duì)這些數(shù)據(jù)源都提供了緩存支持,可以從以下數(shù)據(jù)源中拉取數(shù)據(jù)制作數(shù)據(jù)緩存。
URL:具體某一數(shù)據(jù)下載鏈接、ModelScope和HuggingFace上的模型和數(shù)據(jù)集。
NAS:阿里云NAS文件系統(tǒng)。
OSS:阿里云OSS存儲(chǔ)空間。
SNAPSHOT:阿里云快照。
大小
創(chuàng)建前,您需要根據(jù)實(shí)際的數(shù)據(jù)量來(lái)確定數(shù)據(jù)緩存的大小。創(chuàng)建時(shí)如果沒(méi)有指定大小,則數(shù)據(jù)緩存默認(rèn)為20 GiB。如果數(shù)據(jù)量超出20 GiB,數(shù)據(jù)緩存會(huì)創(chuàng)建失敗。
保留時(shí)長(zhǎng)
創(chuàng)建時(shí)如果沒(méi)有設(shè)置保留時(shí)長(zhǎng),則數(shù)據(jù)緩存會(huì)一直保留。對(duì)于不需要長(zhǎng)期使用的數(shù)據(jù)緩存,建議您在創(chuàng)建時(shí)設(shè)置保留時(shí)長(zhǎng),以免產(chǎn)生不必要的快照費(fèi)用。
使用方式
使用數(shù)據(jù)緩存創(chuàng)建ECI實(shí)例時(shí),您可以指定數(shù)據(jù)緩存Bucket,并通過(guò)HostPath的方式直接掛載數(shù)據(jù)存儲(chǔ)路徑。此時(shí),系統(tǒng)會(huì)自動(dòng)創(chuàng)建并掛載一塊按量付費(fèi)的云盤。該云盤的容量等于數(shù)據(jù)緩存大小,隨實(shí)例一起創(chuàng)建和釋放。
計(jì)費(fèi)說(shuō)明
創(chuàng)建數(shù)據(jù)緩存
創(chuàng)建數(shù)據(jù)緩存的過(guò)程中會(huì)自動(dòng)創(chuàng)建臨時(shí)資源(ECI實(shí)例和云盤),基于臨時(shí)資源創(chuàng)建一個(gè)快照,因此需支付臨時(shí)資源費(fèi)用和快照費(fèi)用。
使用數(shù)據(jù)緩存
使用數(shù)據(jù)緩存創(chuàng)建ECI實(shí)例時(shí),將為ECI實(shí)例自動(dòng)創(chuàng)建并掛載一個(gè)和數(shù)據(jù)緩存相同大小的云盤,即除ECI實(shí)例費(fèi)用外,需額外支付云盤費(fèi)用。
更多信息,請(qǐng)參見(jiàn)數(shù)據(jù)緩存計(jì)費(fèi)。