其他
AI 存储架构师指南
大规模性能:现代对象存储速度很快,即使面对数百 PB 和并发请求也能保持快速。您无法通过其它选项实现这一目标。 非结构化数据:许多机器学习数据集是非结构化的,包括音频、视频和图像。即使是可以存储在数据库中的表格 ML 数据集,也可以在对象存储中更轻松地进行管理。例如,工程师通常会将构成训练集的数千或数百万行视为单个实体,可以通过单个简单请求进行存储和检索。验证集和测试集也是如此。 RESTful API:RESTful API 已成为服务之间通信的事实标准。因此,存在用于身份验证、授权、动态安全和通知的经过验证的消息传递模式。 加密:如果数据集包含个人身份信息,则必须在静态时对数据进行加密。 云原生(Kubernetes 和容器):可以在由 Kubernetes 管理的容器中运行其服务的解决方案可以在所有主要的公共云中移植。许多企业都有内部 Kubernetes 集群,可以运行 Kubernetes 原生对象存储部署。 不可变:实验必须可重复,如果基础数据移动或被覆盖,实验就不可重复。此外,当世界各国政府开始监管人工智能时,保护训练集和模型不被意外或故意删除,将成为人工智能存储系统的核心功能。 纠删码与 RAID 在数据弹性和可用性方面的对比:纠删码使用简单的驱动器来提供弹性存储所需的冗余。另一方面,RAID 阵列(由控制器和多个驱动器组成)是必须部署和管理的另一种设备类型。纠删码适用于对象级别,而 RAID 适用于块级别。如果单个对象损坏,纠删码可以修复该对象并快速将系统返回到完全运行状态(如几分钟)。RAID 需要先重建整个卷,然后才能读取或写入任何数据,重建可能需要数小时或数天,具体取决于驱动器的大小。 根据需要创建任意数量的文件:用于训练模型的许多大型数据集都是从数百万个小文件创建的。想象一下,一个拥有数千台物联网设备的组织,每台设备每秒进行一次测量。如果每个度量都是一个文件,那么随着时间的推移,文件总数将超过文件系统可以处理的范围。 跨环境可移植:软件定义的对象存储可以使用本地文件、NAS、SAN 和在 Kubernetes 集群中与 NVMe 驱动器一起运行的容器作为其底层存储。因此,它可以跨不同环境移植,并通过 S3 API 随时随地提供对底层存储的访问。