Amazon DynamoDB 最近推出了原生向量搜索,允许开发者将嵌入向量与应用数据存储在一起,并直接在 DynamoDB 中运行近似最近邻查询,无需使用单独的向量数据库。该功能支持带过滤条件的相似度搜索,以及面向语义搜索工作负载的可配置向量索引。
向量搜索使用一种新的 DynamoDB 索引类型,该索引基于存储在表属性中的向量嵌入。开发者可以选择任意嵌入模型,例如 Amazon Bedrock Titan Text Embeddings、Cohere Embed 或 OpenAI 文本嵌入模型,创建具有所需维度和距离函数的向量索引,然后使用新的 SearchVectors API 进行查询。亚马逊云科技首席解决方案架构师 Esra Kayabali 写道:
向量索引没有存储限制,并会随着数据增长进行横向扩展。现在,你可以利用 DynamoDB 及其原生向量搜索功能,构建需要对智能体记忆进行语义检索、检索增强生成、推荐引擎、个性化体验和异常检测等功能的应用。
此前,使用这款托管式 NoSQL 数据库的应用如果要支持向量搜索,就必须将数据复制到单独的向量数据库,并让两个系统保持同步,这增加了架构复杂性和数据传输量。原生向量搜索允许在同一张 DynamoDB 表中存储和查询向量嵌入与应用数据,从而移除了这条额外的数据流水线。Kayabali 补充道:
DynamoDB 完全采用无服务器模式,因此向量搜索可以自动扩展,无需管理基础设施。它最多支持 4096 个维度,支持欧几里得距离、余弦距离和点积距离函数,以及内联过滤。
在《使用 Amazon DynamoDB 原生向量支持构建语义搜索》一文中,亚马逊云科技首席 NoSQL 专家解决方案架构师 Leonid Koren 和亚马逊云科技 DynamoDB 高级解决方案架构师 Mo Kamioner 展示了如何构建一个 Python 语义搜索应用。该应用使用 Bedrock 嵌入和 DynamoDB,按照语义而不是精确关键词查找相关研究论文。他们解释了这项新功能对成本的影响:
除了承载项目的底层表所产生的标准 DynamoDB 费用外,向量索引还会按三个维度计费。你需要为写入索引的数据、搜索时处理的数据以及存储的数据付费。这三项均按字节计量,并按 GB 计费。
作者表示,使用更低的维度、尽可能减少索引投影、不在结果中返回嵌入向量,以及进行选择性分区,是能够显著降低向量搜索成本的主要方法。亚马逊云科技副总裁兼首席布道师 Jeff Barr 在 LinkedIn 上强调:
它可以扩展到你需要的任意规模(想想数万亿个向量),同时保持个位数毫秒级延迟。
鉴于许多数据库在过去几年中已经推出了向量支持,一些从业者认为亚马逊云科技 “入场太晚”。不过,Humayun Khan 评论:
这是一项非常令人兴奋的新功能。DynamoDB 原生向量搜索可以将向量搜索和应用数据保存在同一个位置,从而大幅简化 AI 应用的构建。
一些开发者想知道 DynamoDB 是在向量搜索之前还是之后应用属性过滤器,但这项功能获得了社区大体积极的反馈,许多人强调了它相对于 S3 向量存储桶的优势。用户 coinclick 警告称:
S3 具有近乎无限的扩展能力,并且能够提供稳定的延迟,即使这种延迟表现并不出色。我认为 DynamoDB 通常也能很好地横向扩展,并提供非常低的延迟,但其成本可能会比 S3 高很多。
该团队计划通过兼容 DynamoDB 的适配器 ExtendDB,为本地开发和自托管部署提供向量搜索。向量索引现已在 DynamoDB 当前提供服务的所有区域开放,并支持使用 Standard 或 Standard-IA 表类别的表。
原文链接:https://www.infoq.com/news/2026/08/aws-dynamodb-vector-search/





