Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon Neptune で始めるグラフDB
Search
八雲慎之助
February 27, 2025
0
40
Amazon Neptune で始めるグラフDB
第2回 AWS初心者LT会in札幌
八雲慎之助
February 27, 2025
Tweet
Share
More Decks by 八雲慎之助
See All by 八雲慎之助
Knowledge BasesにRAGが対応しました!
yakumo
0
140
Jr.Championsになるための取り組みと期待すること
yakumo
1
240
2024年振り返り
yakumo
0
31
Neptune使ってみた
yakumo
0
37
AWS GameDayに参加してきた
yakumo
1
290
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
How to train your dragon (web standard)
notwaldorf
93
6.1k
A better future with KSS
kneath
239
17k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
How STYLIGHT went responsive
nonsquared
100
5.6k
A Tale of Four Properties
chriscoyier
160
23k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Fireside Chat
paigeccino
37
3.5k
Documentation Writing (for coders)
carmenintech
72
4.9k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Transcript
Amazon Neptune で始める グラフDB ビジネスソリューション第一事業部 八雲慎之助 株式会社クレスコ
自己紹介 八雲慎之助(やくも しんのすけ) 所属 株式会社クレスコ 技術 好きなサービス Amazon Neptune
グラフDBとは? 引用 (https://www.imagazine.co.jp/12805-2/) ノード間のリレーションを表現できる
グラフDBとは?(RDSとの比較) Q:「Aさんの孫(子供の子供)は?」 UserId ChildrenID 1 2 2 3 3 4
UserId Name 1 A 2 B 3 C UserID1の孫は誰? A B C 子供はBさん 子供はCさん
主な活用事例 ユーザー同士の友人関係やフォロー関係をグラフ構造で管理。 友達の友達を探す、コミュニティ検出、おすすめ表示 例)X, Instagram, Facebook SNS分析 ユーザーの購入履歴や閲覧履歴から、関係性に基づく商品推薦を行う。 例)Amazon, Netflix
レコメンデーションエンジン Bedrockと組み合わせて、GraphRAGのような高度な応答システムを構 築できる 例)社内文書検索システム ナレッジグラフ
Amazon Neptune とは https://aws.amazon.com/jp/neptune/ • つながりの分析が得意 データの「関係性」を素早く見つけられる。 例)SNS上でおすすめを提示 • 2つのクエリ言語が得意
Gremlin → グラフをたどるための言語(経路検索などに便利) SPARQL → 知識グラフ(情報をネットワーク化して管理)に使う言語 • 高速でスケーラブル 大量のデータを高速に検索できる 大規模なアプリケーションでも対応可能 • 高い可用性と信頼性 自動フェールオーバ 保存時、転送時のデータ暗号化
レコメンド実装 AWS Cloud AWS Cloud Virtual private cloud (VPC) Public
subnet Private subnet Amazon SageMaker AI Amazon Neptune
Gremlinクエリについて • ノード追加 g.addV('person').property('name', 'yakumo').next() • エッジ追加 g.V().hasLabel('person’). has('name','yakumo').addE('LIKE').to(__.V().hasLabel('team’). has('name',
'team 3')).next()
レコメンド実装(共通のLIKEをしているノードを表示) yakumo sakura product 1 product 2 product 3 tanaka
product 4
レコメンド実装(共通のノードから伸びるエッジを確認) yakumo sakura product 1 product 2 product 3 tanaka
product 4
レコメンド実装(yakumoがLIKEしたのは除外) yakumo sakura product 1 product 2 product 3 tanaka
product 4
レコメンド実装 yakumo sakura product 1 product 2 product 3 tanaka
product 4
実際にやってみる!
レコメンド実装 今回投入したデータ
まとめ yakumo sakura MARIO KART 名前ID name 1 yakumo 2
sakura ゲームID Favorite 1 MARIO KART 名前ID Favorite 1 MARIO KART 2 MARIO KART