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