Database

Amazon Neptune

マネージドのグラフDB。AIP-C01でGraphRAGやBedrock Knowledge Basesの正式なベクトルストアとして出るのは「Neptune」ではなく「Neptune Analytics」——同じブランドの中の別エンジンという一線が問われます。

  • B|実装まわり
  • D1 FM統合・データ・コンプラ

ひとことで言うと

マネージドのグラフDBです。ただし「Neptune」ブランドにはトランザクション処理向けのNeptune Databaseとインメモリの分析・ベクトル検索向けのNeptune Analyticsという別エンジンがあり、Bedrock Knowledge Basesが公式サポートするのは後者だけです。

要するに、同じ支店名の別の窓口です。Neptune Database窓口は日々の取引(グラフの読み書き)を捌く担当。Neptune Analytics窓口は「似ているものを意味で探しつつ、関係を辿る」分析専用の担当。GraphRAGの列に並ぶべきなのは後者の窓口で、前者に並ぶと目的の処理はしてもらえません。

なぜ生まれたか

RAGは「意味が近い文書」を返しますが、**文書同士のつながり(誰が誰と関係するか、何が何に依存するか)**を無視します。単純なベクトル検索だけでは、複数の関係を跨いだ質問(「Aと関係が深い人物の、さらに関係先は?」)にうまく答えられません。

起きる不便GraphRAG(Neptune Analytics)での解決
ベクトル検索だけでは関係性を跨いだ推論ができないドキュメントからエンティティ・関係を自動抽出してグラフ化し、グラフ探索とベクトル検索を組み合わせる
グラフモデリングの専門知識がないと使えないBedrock Knowledge Basesがグラフの作成・更新を自動管理(GraphRAG)
回答の根拠を説明可能にしたいグラフの経路をたどることで、なぜその回答に至ったかを追える

何に使うか

用途使い方関連ドメイン
GraphRAGBedrock Knowledge BasesのベクトルストアにNeptune Analyticsを選択D1
関係性を跨いだ類似検索ノードにLLM由来の埋め込みを紐づけ、グラフ探索と組み合わせて検索D1
通常のグラフ運用(トランザクション)Neptune Database側で日々のグラフの読み書きを行う—

試験でどう問われるか

問われ方正解に寄る条件引っかけの選択肢
Bedrock Knowledge BasesでGraphRAGを構成したいベクトルストアにNeptune Analyticsを選ぶ「Neptune(Database)」を選ぶ選択肢(KBの対象はAnalytics限定)
エンティティ間の関係を辿って説明可能な回答をしたいGraphRAG(Neptune Analytics)。文書からエンティティ・関係を自動抽出通常のベクトル検索のみのKB構成(関係の推論ができない)
既存のNeptune Databaseのグラフ資産をGraphRAGに使いたいNeptune DatabaseのグラフやスナップショットをNeptune Analyticsに読み込んでから使うNeptune Database上でそのままGraphRAGを構成しようとする案

「Neptune」とだけ書かれた選択肢に注意。Bedrock Knowledge Basesのベクトルストアの正式名称は「Amazon Neptune Analytics graphs」です。単に「Amazon Neptune」とだけ書かれ、Analyticsへの言及がない選択肢は、トランザクション向けのNeptune Databaseを指している可能性があり、GraphRAGの文脈では誤りになりえます。

実務でどう使うか

  • GraphRAG用のグラフは空の状態から作る。 Neptune Analyticsのグラフとベクトルインデックスはグラフ作成時にしかベクトル次元を指定できません。後から次元を変えたい場合はグラフを作り直すことになります
  • グラフ構築モデルの選定が必要。 ドキュメントからエンティティ・関係を抽出するために使う基盤モデル(Claude Haiku系やAmazon Novaなど)を、データソースまたはKB作成時に選びます。モデルはライフサイクル(レガシー化)があるため、レガシーになったモデルを使い続けないよう定期確認が要ります
  • クロスリージョン推論を使う場合、グラフ構築の推論だけ別リージョンに送られることがある。 データ自体はKBとNeptune Analyticsのあるソースリージョンに留まりますが、推論トラフィックの経路は意識しておく必要があります

ハマりどころ: Neptune Analyticsはメモリ最適化エンジンで、大規模グラフデータをメモリ上に載せて高速処理する設計です。日々の細かいトランザクション処理(頻繁な小さい書き込み)が主目的ならNeptune Databaseの方が適しており、GraphRAGだからといって全ての用途をNeptune Analyticsに寄せるのは誤りです。

取り違えやすいもの

迷う相手切り分けの一言
Neptune Database(同ブランドの別エンジン)Database=日々のトランザクション用グラフDB。Analytics=GraphRAG・ベクトル検索用の分析エンジン。KBの対象はAnalyticsのみ
Amazon OpenSearch ServiceOpenSearchは純粋なベクトル・全文検索。Neptune Analyticsは関係性を跨いだ探索が要るときの選択肢
Bedrock Knowledge Bases(通常のベクトル検索)通常のKBは「似た文書」を返す。GraphRAG(Neptune Analytics)はエンティティ間の関係を辿った、説明可能な回答を返す

想起チェック

Q1. Bedrock Knowledge BasesでGraphRAGを構成する場合、ベクトルストアに選ぶべきサービスは?

Amazon Neptune Analyticsです。同ブランドのNeptune Database(トランザクション向け)はKBの対象外です。

Q2. 既存のNeptune Databaseにある取引グラフを、そのままGraphRAGの検索対象にできますか?

直接はできません。Neptune Databaseのグラフやスナップショットを一度Neptune Analyticsに読み込んでからGraphRAGの構成に使います。

出典(AWS公式)