S3 Vectors 最佳实践 - Amazon Simple Storage Service

S3 Vectors 最佳实践

Amazon S3 Vectors 提供专门构建的、经过成本优化的向量存储,供支持人工智能的应用程序使用,也可以对存储在 Amazon S3 中的内容进行语义搜索。S3 Vectors 旨在提供 S3 级别的弹性和耐久性,可以存储具有亚秒级查询性能的向量数据集,非常适合需要构建和增长向量索引的应用程序。借助 S3 Vectors,可以使用一组专用的 API 操作来存储、访问向量数据并对向量数据执行相似性查询,而无需预置任何基础设施。有关更多信息,请参阅使用 S3 Vectors 和向量存储桶

为最大限度地利用 S3 Vectors 的优势,建议您执行以下最佳实践。

插入和删除向量

应用程序对于每个向量索引,每秒可以实现至少五个 PutVectorsDeleteVectors 请求。如果超过请求速率,则可能会收到 429 TooManyRequestsException 错误。为最大限度地提高请求吞吐量并针对速度和效率进行优化,我们建议您大批量插入和删除向量,每个 API 请求最多 500 个向量。有关更多信息,请参阅向量索引

访问和查询 S3 向量索引中的向量

应用程序对于每个 S3 向量索引,每秒可以实现数百个 QueryVectorsGetVectorsListVectors 请求。如果超过请求速率,则可能会收到 429 TooManyRequestsException 错误。我们建议您使用重试机制,并将应用程序配置为发送更少的请求。

跨向量索引进行扩展

为了提高每个向量索引的查询性能,请考虑配置应用程序,以便在可能的情况下将向量划分到多个向量索引。例如,如果您有多租户工作负载,并且应用程序独立查询每个租户,请考虑将每个租户的向量存储在单独的向量索引中。有关更多信息,请参阅向量索引

使用单独的向量索引实现多租赁

可以通过为每个租户使用单个向量索引来组织向量数据,从而实现多租赁。可以使用 IAM 策略和存储桶策略,来限制每个租户只能访问其指定的向量索引。这种方法无需为每个租户创建单独的存储桶,从而有助于保持数据隔离并简化管理。有关更多信息,请参阅S3 Vectors 中的身份和访问权限管理

为向量索引配置不可筛选的元数据字段

创建向量索引时,将不需要筛选的元数据字段配置为不可筛选的元数据键。例如,可将向量嵌入的文本分块存储为不可筛选的元数据字段(当这些字段只是供参考时)。有关更多信息,请参阅不可筛选的元数据