本文へスキップ
BecomeCoder

Neo4jコース · 第1章 グラフデータベースとは · レッスン4

どんなときに使うのか ― SNS・レコメンド・経路探索・不正検知・ナレッジグラフ

ローカル実施

導入

グラフデータベースは万能ではなく、「つながりを深くたどる」ことが本質的に必要な場面でこそ真価を発揮します。代表的な活用例を見てみましょう。

説明

graph TB
    G[(グラフデータベース)]
    G --> U1[SNS<br/>友達・フォロー関係の探索]
    G --> U2[レコメンド<br/>「これを買った人は<br/>こんな商品も」]
    G --> U3[経路探索<br/>最短ルート・乗換案内]
    G --> U4[不正検知<br/>怪しい送金の連鎖を発見]
    G --> U5[ナレッジグラフ<br/>用語同士の関連を検索]
  • SNS … 「友達の友達」「共通の友人」「フォロー関係」など、関係を何段階もたどる検索が高速に行えます。
  • レコメンド(おすすめ) … 「この商品を買った人は他に何を買ったか」「似た嗜好のユーザーは誰か」といった、購買履歴のつながりから推薦を生成します(第6章で実際に書きます)。
  • 経路探索 … 駅や交差点をノード、路線や道路をリレーションシップとみなすと、最短経路のアルゴリズムがそのまま使えます(第8章)。
  • 不正検知 … 送金や取引の連鎖をたどり、「怪しいお金の流れのパターン」を発見します。
  • ナレッジグラフ … 「Aは映画」「Bは俳優」「BはAに出演」のように、概念同士の関連を蓄積し、意味検索やAIの知識源として使います。

一方で、単純な集計処理(「今月の売上合計」「部門ごとの平均給与」のような、つながりをたどらない集計)は、むしろ表形式のRDBやデータウェアハウスのほうが得意です。グラフデータベースは「表よりつながりが主役のデータ」に向いた、適材適所の選択肢だと覚えておきましょう。