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
5
Amazon Neptune で始めるグラフDB
第2回 AWS初心者LT会in札幌
八雲慎之助
February 27, 2025
Tweet
Share
More Decks by 八雲慎之助
See All by 八雲慎之助
Knowledge BasesにRAGが対応しました!
yakumo
0
120
Jr.Championsになるための取り組みと期待すること
yakumo
1
210
2024年振り返り
yakumo
0
23
Neptune使ってみた
yakumo
0
13
AWS GameDayに参加してきた
yakumo
1
270
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
67
11k
Typedesign – Prime Four
hannesfritz
40
2.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Automating Front-end Workflow
addyosmani
1368
200k
Gamification - CAS2011
davidbonilla
80
5.1k
GitHub's CSS Performance
jonrohan
1030
460k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
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