DynamoDB 最近上线了原生向量搜索功能,现在可以直接把向量嵌入和业务数据放在同一张表里,执行近似最近邻查询,完全不用再额外搭建一套向量数据库。这个功能基于全新的索引类型,兼容任意嵌入模型,还支持带过滤条件的相似度搜索,对 AI 应用和企业上云来说,确实是个好消息。
DynamoDB 向量搜索到底是什么?
简单来说,以前要做语义搜索,得先把数据向量化,然后存到专门的向量数据库里,业务数据和向量分开管理,同步麻烦,成本也高。现在 DynamoDB 直接把向量索引内置了,业务字段和向量字段可以在同一张表里共存,查询时用 SearchVectors API 就能找到最相似的记录。
这个索引没有存储上限,会随着数据量增长横向扩展。DynamoDB 本来就是无服务器模式,所以向量搜索也能自动扩展,完全不用操心底层基础设施。对于已经用云服务器 ECS 跑业务的企业,数据链路能缩短不少。
技术细节与计费方式
向量搜索最多支持 4096 维,常见嵌入模型生成的向量基本都能覆盖。距离函数有三种:欧几里得距离、余弦距离、点积距离,按实际场景选择就行。还支持内联过滤,比如“找相似商品,但只返回价格低于 100 元的”,一条查询就能搞定。
费用方面,除了标准的 DynamoDB 费用,向量索引会按三个维度额外计费:写入索引的数据量、查询时处理的数据量、存储的数据量。都是按字节计量,按 GB 收费。官方也给出了降本建议:
- 用较低维度的向量,够用就好;
- 减少索引投影,只存必要字段;
- 查询结果里别返回嵌入向量,省流量;
- 用选择性分区,把热点数据分开。
如果企业想控制成本,可以先把数据量估算清楚。通过阿里云代理商采购云资源,有时能拿到更灵活的价格方案,配合阿里云代金券使用,前期测试成本能压得更低。
官方示例与可用性
官方给了一个完整的 Python 示例:用 Bedrock 生成论文摘要的嵌入向量,再存进 DynamoDB,然后按语义搜索相关论文。比如输入“关于深度强化学习在机器人控制中的应用”,返回的结果不是靠关键词匹配,而是真正理解语义后找出的相关文献。这个例子很适合作为 AI 搜索应用的起点。
目前,这个向量索引已经在 DynamoDB 所有提供服务的区域开放,支持 Standard 和 Standard-IA 表类别。团队还计划通过 ExtendDB 适配器支持本地开发和自托管部署,对开发者来说更友好了。
如果你正在规划 AI 应用的数据架构,与其维护两套存储,不如试试 DynamoDB 这一套方案。需要选型建议或资源支持的话,可以看看易枫顺 - 阿里云官方旗舰级代理商,他们能帮忙梳理企业上云方案,也能提供阿里云优惠和代金券信息,省心不少。
FAQ
Q: DynamoDB 向量搜索需要单独建向量数据库吗?
A: 不需要。DynamoDB 原生支持向量索引,向量和业务数据可以存在同一张表,直接查询,运维更简单。
Q: 向量搜索的维度上限是多少?支持哪些距离计算方式?
A: 最多 4096 维,支持欧几里得距离、余弦距离和点积距离,还能在相似度查询时做内联过滤。
Q: 向量搜索怎么收费?
A: 在标准 DynamoDB 费用之外,按写入索引数据、查询处理数据、存储数据三个维度计费,均按字节计量并按 GB 收费。
Q: 怎么降低向量搜索成本?
A: 可以用较低维度、减少索引投影、不返回嵌入向量、选择性分区等方法。通过阿里云代理商获取优惠或代金券也能减少前期投入。
关于易枫顺
深圳市易枫顺网络科技有限公司是阿里云官方旗舰级代理商。提供云服务器ECS、云数据库RDS、对象存储OSS等阿里云全系产品官方特惠折扣与代金券申请,以及多云成本优化、企业上云一站式服务。客服热线:19520841949 - 易枫顺
来源:InfoQ