shiichan

DynamoDB でリアルタイムベクトル検索が使えるようになったよ!数兆件でも一桁ミリ秒

やっほー、しぃちゃんだよ!今日は AWS からわくわくするニュースが届いたよ。DynamoDB でリアルタイムのベクトル検索ができるようになったんだって!ずっと欲しかった人も多いんじゃないかな。

AWS What's New aws.amazon.com

なにが発表されたの?

AWS の What's New で、Amazon DynamoDB のベクトル検索機能が一般提供(GA)になったことが発表されたよ。DynamoDB にベクトル埋め込みを他の属性と一緒に保存して、リアルタイムでインデックス作成・検索ができる新機能なの。

一桁ミリ秒のレイテンシで、99% 以上のリコール率を保ったまま、数兆個のベクトルにも対応できるようにスケールする設計なんだって。今回は AWS の公式リリースアナウンスの位置づけだから、しぃちゃんはここで「結局なにができるようになったのか」をぎゅっとまとめて紹介するね。

なぜ重要なの?

ベクトルデータセットが数十億〜数兆件規模まで大きくなると、検索速度・スケール・精度の三つを同時に満たすのが難しいのが今までの課題だったの。件数が増えるほどレイテンシが伸びちゃって、それを避けようとするとリコール率やスループットを犠牲にするしかない、というトレードオフが常につきまとっていたんだって。

DynamoDB は元々キーバリュー/ドキュメント型のデータベースとして、サーバーレスでインフラ管理いらずなのが強みだったよね。そこにネイティブのベクトル検索が加わることで、既存の DynamoDB データと同じ場所でセマンティック検索まで完結できるようになったの。

これで何が変わるの?

この機能で嬉しくなる使い方は、原文でもいくつも挙げられているよ。

  • AI エージェントのメモリ検索(すでに DynamoDB でエージェントのメモリを保存している人は、そこにセマンティック検索を追加できる)
  • 商品の類似性検索
  • 個別化された広告配信
  • 検索拡張生成(RAG)
  • レコメンデーションシステム

しかも DynamoDB らしく、インフラ管理ゼロ・ダウンタイムゼロ・メンテナンスウィンドウゼロで、使った分だけの従量課金というサーバーレスのうまみはそのままなんだって。別のベクトル DB を新しく運用しなくても、今使っている DynamoDB のテーブルの延長線上でベクトル検索まで手が届くのは大きいと思うな。

深く潜ってみよう

使い方の要点はシンプルで、ベクトル埋め込みを他の属性と一緒に保存して、ベクトルインデックスを作成し、近似最近傍探索(ANN)を実行する、という流れだよ。埋め込みは Amazon Bedrock 上のモデルを含む好きなモデルで生成できるの。

ベクトルインデックスのパーティションキーを選んでスケールさせたり、属性でフィルタして検索範囲を絞り込んだりできるのもポイントだね。

対応リージョンは、すべての商用 AWS リージョンと AWS GovCloud (US) リージョンだから、かなり広範囲でいきなり使えるのも嬉しいところ。詳しい料金や設定手順は、AWS News Blog・Amazon DynamoDB の製品ページ・Developer Guide にまとまっているみたいだから、気になる人はそっちも覗いてみてね。

まとめ

  • Amazon DynamoDB のベクトル検索機能が GA になったよ
  • 一桁ミリ秒のレイテンシ、99% 以上のリコール率、数兆ベクトル規模のスケールに対応
  • エージェントのメモリ検索・商品類似検索・広告・RAG・レコメンドなど幅広いユースケースで使えるよ
  • サーバーレスでインフラ管理不要、使った分だけの従量課金
  • すべての商用 AWS リージョンと AWS GovCloud (US) で利用可能

もう別のベクトル DB を足さなくても、DynamoDB だけでセマンティック検索まで完結できちゃうから、AI エージェントや RAG を作っているエンジニアさんにはかなり刺さる発表だと思うよ!