グラフ・データベースとは何か? なぜあまり使われてこなかったのか、そしてその展望とは
オラクル技術エキスパートが紹介する 開発者のためのデータベース完全ガイド 第9回
グラフのユースケース
グラフDBMSの技術的な特徴がわかったところで、その代表的なユースケースを見ながらこの技術が求められている要件を探っていきます。グラフの用途はこれらの他にも多く提案されていますが、以下の3つは、DBMSが必要とされるデータ量が存在していて、かつグラフの明確な優位性が発揮されるユースケースであると考えています。
金融の不正検知のユースケース
1つ目は、金融トランザクションの分析です。たとえば、銀行送金やオンラインペイメントのネットワークから不正利用されているアカウントやマネーロンダリングのパターンを探し出す、といったユースケースがあります。この場合、トランザクションデータは通常RDBMSで管理されていて、スキーマの柔軟性は必要とされません。ただデータをグラフに展開することで、辿る処理やそれを用いたパターンマッチングが十分に高速になり、分析担当者が使うような対話的なUIを作成することができるようになります。また、グラフアルゴリズムを用いたスコアリング手法が不正検知に役立つこともわかっています。
製造のトレーサビリティ分析のユースケース
2つ目は、製造における部品ツリー(BoM:bill of materials)の管理や、部品ツリーを含む広範なデータを結合してトレーサビリティを向上させるといったユースケースです。部品ツリーだけであればスキーマの柔軟性を必要としませんが、製造、倉庫、物流、販売、といったデータを組み合わせていくときには各既存データベースのデータをグラフに変換することでこれらを結合しやすくなります。その上で、ある部品を起点に繋がっている製品とその所在地を検索するといったことが可能になります。このように一点から多階層を辿るクエリは、メモリ上のグラフ構造を使うことで高いレスポンス性能が得られます。
警察や税務の調査のユースケース
3つ目は、警察や税務における調査のユースケースです。こういった領域では、情報がデータベース化されていない場合もあり、スキーマの柔軟性が求められることが多々あります。例えば、人物の既知の関係性をグラフにしておき、ここに搭乗記録や通話記録といったデータを加えて、パス探索のクエリによってあるふたりの人物の未知のつながりを発見するといった手法が使われます。2点間のパス探索は内部的に経路探索のアルゴリズム(ダイクストラ法など)を使って実現されています。注目している事象の関連情報をより直感的に理解できるように、地図や時間軸と併せてグラフを可視化するツールも利用されています。
この記事は参考になりましたか?
- オラクル技術エキスパートが紹介する 開発者のためのデータベース完全ガイド連載記事一覧
- この記事の著者
-
山中 遼太(日本オラクル株式会社)(ヤマナカ リョウタ)
Oracle Database開発部門のプロダクトマネージャー。主にAPAC地域のユーザーとともにグラフ機能と地理空間機能の先進的な活用に取り組んでいる。 Qiita
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
