对于一些数据量较大的业务数据,例如训练模型等,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实例费用外,需额外支付云盘费用。
更多信息,请参见数据缓存计费。