1. TOP
  2. レポート・ライブラリ
  3. グラフデータベースとは何か - RDBMSとの違いと活用指針 -


ITR Review

コンテンツ番号:
R-220095
発刊日:
2020年9月1日

グラフデータベースとは何か

RDBMSとの違いと活用指針

著者名:
平井 明夫
グラフデータベースとは何かのロゴ画像

SNSのようなネットワーク型の構造を持つデータに対する複雑な検索は、RDBMSの場合、多数の結合が発生するため、高速に検索することは困難とされてきた。今、これを可能にするグラフデータベースが注目されている。本稿では、RDBMSとグラフデータベースの違いを明確にしたうえで、グラフデータベースを効果的に活用するためのポイントを解説する。

RDBMSとグラフデータベースの違い

グラフデータベースの「グラフ」とは、数学のグラフ理論で取り扱うネットワーク型の構造を持つデータを意味しRDBMSがデータの構造を表のかたちで表現するのに対して、グラフデータベースでは、データのエンティティを表すノードと、ノード間の関係性を表すエッジで表現する。

例えば、SNSの4人のユーザーとその友達関係を表現する場合、RDBMSでは、「ユーザー」と「友達」の2つの表が使用されるのに対して、グラフデータベースでは、4つのノードとそれらをつなぐエッジが使用される(図1)。

図1.ネットワーク型の構造を持つデータの表現方法 RDBMS vs. グラフデータベース

図1.ネットワーク型の構造を持つデータの表現方法 RDBMS vs. グラフデータベース
出典:ITR

RDBMSに対するグラフデータベースの優位性は、データ・エンティティ間の関係をたどって行われる検索処理の速度に表れる。図1の例で、「東京 太郎」の友達の友達の名前を検索する場合、RDBMSでは、3回表の結合が必要であるが、グラフデータベースでは、ノードからノードへの探索を2回行うだけでよい(図2)。さらに、RDBMSでの結合が表単位で行われるのに対して、グラフデータベースの探索はエンティティ単位で行われるため、1回の処理にかかる時間についてもグラフデータベースがはるかに優位である。

このようなグラフデータベースの優位性は、データ量が増大するにつれてさらに顕著に表れるため、ビッグデータ分析の分野において特に注目されている。

図2.「東京 太郎」の友達の友達の名前の検索方法 RDBMS vs. グラフデータベース

図2.「東京 太郎」の友達の友達の名前の検索方法 RDBMS vs. グラフデータベース
出典:ITR

ITR 著作物の引用について

ITRでは著作物の利用に関してガイドラインを設けています。 ITRの著作物を「社外利用」される場合は、一部のコンテンツを除き、事前にITRの利用許諾が必要となります。 コンテンツごとに利用条件や出典の記載方法が異なりますので、詳細および申請については『ITR著作物の引用ポリシー』をご確認ください。

TOP