グラフデータベースは犯罪捜査でも有効?
グラフデータベースを把握するには人物相関図をイメージするといいかもしれません。物語の解説で、登場人物を並べてそれぞれ「友達」「親子」「恋人」などと間柄が示されたような図です。多数の線が引かれていて複雑です。こういう複雑な関係性を持つデータを管理するのに向いているのが特徴です。
例えばFacebookやLinkedInもグラフデータベースの技術を用いていると言われています。保有しているデータはまさに人間関係ですから。ある時点での人間関係となると2次元で表現できそうですが、人間関係は時間で変化することもあります。時間軸のほか、さまざまな要素を採り入れるとデータは多次元となり、より複雑になります。
データが複雑になってもRDBで管理できないことはありません。しかしRDBは基本的には表のようなデータ構造を想定しています。人物相関図のようなデータを扱うことは不可能ではないものの、扱うには表の結合を繰り返すなど技術的には苦しくなってきます。その点、構造的にはグラフデータベースの方が扱いやすいそうです。
ほかにもグラフデータベースではネットワーク機器や電力設備のグリッドで保守するシステム、地下鉄や道路などの地図で最適なルートを計算するなどにも向いているとのこと。データの構造をイメージすると「なるほど、そうかも」と納得できます。加えてクレジットカード不正利用のデータ分析にも活用が期待されているとのことです。
これはちょっと意外でした。クレジットカードの不正利用の早期検知ならトランザクションと分析が同時に行われる必要があり、これならRDBの世界でも話題になります。「オペレーショナルBI」とも言われたりします。これだと「早期検知」を目的としていますが、データ抽出が容易となるため次の悪用を「予測する」などの分析でも有用だそうです。
例えばある店舗でクレジットカードがスキミングされて不正利用されたというケースを考えます。2013年に実際にアメリカで起きた犯罪では、マクドナルドでクレジットカードの不正利用が通報されたところが捜査のスタート地点となりました。当初の被害者として認定されたのは2名。そのうち1人はポールとします。
警察は「どこでスキミングされたか」と原因を突き止め、「ほかにどれだけ被害が出ているか」と未発見の被害を調べ、はては「次に不正に使われそうなのはどの店舗か」と予測するためにクレジットカード利用履歴をくまなく精査することになります。
しかし一般的なRDBだとスキーマやSQL文をどうするかという課題があり、一定の技術的な難易度があります。一方グラフデータベースの構造だと検索条件をいろいろと変えたとして、データベースの扱いとしてはRDBに比べて難易度が高くないのだとか。もちろんRDBでできないことはありません。