觀點 · 資訊分享

Amazon DynamoDB 正式支援向量搜尋:不用再多養一套向量資料庫,單位數毫秒就能查出意思相近的資料

AWS 在 8 月 5 日宣布 DynamoDB 向量搜尋正式上線,可以把 embedding 和原本的資料放在同一張表,官方稱延遲是個位數毫秒、召回率 99% 以上。

發布
2026-08-06
篇幅
約 4 分鐘 · 1,912 字
結構
7 節 + 3 題常見問題
標籤
#AWS#DynamoDB#向量搜尋#RAG#無伺服器
Amazon DynamoDB 正式支援向量搜尋:不用再多養一套向量資料庫,單位數毫秒就能查出意思相近的資料

一句話看懂:AWS 讓 DynamoDB 正式支援向量搜尋,商品、文件的「意思相近」查詢可以直接在原本的資料表裡做,不必再把資料複製到另一套向量資料庫。

DynamoDB 正式支援向量搜尋資訊圖卡:原本的資料表就能查「意思相近」,不必再複製到別的資料庫

先用白話講:向量搜尋是什麼?

想像你在大賣場找「夏天穿的輕便跑鞋」。傳統搜尋像是比對標籤,商品名稱沒有「輕便」兩個字就找不到。向量搜尋則像一位懂你意思的店員:他不看字面,而是把每樣商品的描述都轉成一串數字(稱為 embedding,可以想成「意思的座標」),意思越接近的商品,座標就越靠近。你一問,他就帶你走到座標最近的那一區。

這串座標要有地方存、有辦法快速比對,所以過去很多團隊會另外架一套專門的「向量資料庫」。

發生什麼事

AWS 在 8 月 5 日宣布,Amazon DynamoDB 的向量搜尋正式上線(GA)。官方的說法有幾個重點:

  • 查詢延遲是個位數毫秒,召回率(找回真正相近結果的比例)在 99% 以上
  • 設計上能撐到兆級的向量數量,向量索引沒有儲存空間上限
  • 完全無伺服器:沒有要自己維護的機器、沒有維護時段、不停機
  • 計費沿用 DynamoDB 的「用多少付多少」模式
  • 所有商業 AWS 區域與 GovCloud(美國)區域都能用

以前和現在差在哪

項目 以前 現在
資料放哪 營運資料在 DynamoDB,向量另外放一套向量資料庫 向量跟原本的資料放在同一張表
同步 要自己維護兩邊的同步流程 不需要同步流程
維運 兩套系統各自管 沿用 DynamoDB 的無伺服器模式

官方也提到,原本就拿 DynamoDB 存 AI 代理(agent)記憶的人,現在可以直接在那份記憶上做語意檢索。

給開發者的技術細節

做法是三步:

  1. 用你選的模型(官方舉例有 Amazon Bedrock 的 Titan Text Embeddings、Cohere Embed、OpenAI 的 embedding 模型)把文字轉成向量,用一般的 PutItem 或 UpdateItem 存成數字清單,不需要新的資料型別
  2. 在表上建立「向量索引」,指定維度數、距離函數,以及要拿來過濾的屬性
  3. 呼叫 SearchVectors API,丟入查詢向量與要回傳的筆數(最多 100 筆),就會依相似度排序回傳

幾個限制要先知道:

  • 最多支援 4096 維;距離函數可選 Euclidean、Cosine、Dot product
  • 過濾條件只支援「完全相等」,不支援 BETWEEN、BEGINS_WITH 這類範圍條件
  • 向量索引可以指定一個分區鍵,每次搜尋只會在單一分區鍵值內進行;資料量大、查詢量高時官方建議設定
  • 相似度分數的意思看距離函數而定:Cosine 與 Euclidean 是數字越小越相近,Dot product 則是越大越相近
  • 官方沒有在公告中說明價格細節,請看 DynamoDB 定價頁,上線前先試算

我的看法

我自己接案時最常碰到的情況,是中小企業的系統已經有一張商品或文章的表,老闆突然想要「用講的就能搜到」。以前這個需求往往卡在要多養一套向量資料庫,維運與費用都讓人猶豫。如果資料本來就在 DynamoDB,這次的更新確實把門檻降低不少。

不過我會提醒兩件事。第一,「過濾只能完全相等」和「一次搜尋限定在單一分區鍵值」代表查詢方式要在設計表的時候就想好,不是隨便都能補救。第二,向量搜尋的好壞一大半取決於你選的 embedding 模型,換模型就得整批重算,這筆成本別忘了算進去。小專案先用少量資料試跑,確認結果符合預期再上線。

名詞小辭典

  • Embedding(向量嵌入):把文字轉成一串數字,用數字之間的距離代表意思的遠近。
  • 召回率(Recall):在所有真正相近的結果裡,系統實際找回來的比例,越高代表漏掉的越少。
  • 無伺服器(Serverless):不用自己準備、維護主機,用多少算多少。
  • RAG(檢索增強生成):讓 AI 回答前先去資料庫查資料,再根據查到的內容作答。

資料來源

常見問題

DynamoDB 向量搜尋可以拿來做什麼?
官方列出的用途包括 AI 代理記憶的語意檢索、RAG(先查資料再回答)、商品相似度搜尋、個人化廣告與推薦系統。
我需要自己產生 embedding 嗎?
需要。DynamoDB 不會幫你轉換,你要用自己選的模型(官方舉例有 Bedrock 的 Titan Text Embeddings、Cohere Embed、OpenAI 的 embedding 模型)把文字轉成向量,再存進表裡。
過濾條件可以用範圍查詢嗎?
不行。官方說明過濾條件只支援完全相等的值,像 BETWEEN、BEGINS_WITH 這類範圍條件目前不支援。
LINE