隆顕TweetはじめにNoSQLの1つに分類されるグラフデータベース(以下、グラフDB)ですが、同じNoSQLに分類されるドキュメント型、キーバリュー型、ワイドカラム型などのデータベースに比べ国内の導入事例が少ないように思います。海外ではグラフDBの人気が年々高まっています。Engine」というWebサイト上に掲載されている下記の図を見ると、過去7年間で最も人気が高まっているDBはダントツでグラフDBであることがわかります。図:データベース種類別人気の推移DB種類ごとのトップ3の平均スコアを求め、その増加率を算出している(参照:https://db-engines.com/en/ranking_categories)実際に海外では社内システムの一部をリレーショナルDBからグラフDBへ切り替えるケースや、リレーショナルDBでは実現が難しかった機能をグラフDBによって実現するケースが増えています。そのような事例がWeb上に多く公開されています。このようにグラフDBの人気が高まっているのはなぜでしょうか?グラフデータベースがいま世界で注目を集めている理由グラフDBの「グラフ」とは、円グラフや棒グラフなどの情報を二次元的に表現した「図」ではなく、グラフ理論の「グラフ」であり、「ネットワーク」という言葉のイメージに近いものです。グラフデータベースは、ノード(頂点)とエッジ(辺)とプロパティ(属性)の3つの要素から構成され、ノード間の関係を管理することに特化したデータベースです。図:グラフデータベースの3つの構成要素リレーショナルDBでは時間がかかり過ぎてしまうJOINが多発する複雑なクエリも、グラフDBなら高速に実行することが出来ます。これこそがまさにグラフDBへの関心が世界的に高まっている理由なのです。Action」にて、リレーショナルDBとグラフDBの検索クエリの実行スピードの比較を行っています。実験はソーシャルネットワーク内の「友達の友達・・・」を検索するというもので、各人が50人の友達を持つ100万人規模のソーシャルネットワークを想定しています。比較結果は以下の通りです。(下の表の「深さ」は検索の段階を表します。深さ"2"は「友達の友達」で、深さ"3"は「友達の友達の友達」を表します。Action)深さ"2"の検索では大差はありませんが、深さ"3"以降は、一気にリレーショナルDBの実行スピードが落ちます。リレーショナルDBをJOINが多発するような複雑なクエリで利用するのは現実的ではないでしょう。グラフDBも深さに応じてスピードは落ちますが、リレーショナルDBと比較すると圧倒的に速く、深さ"4"でもオンラインシステムでの利用が検討できるレベルです。このようにグラフDBはJOINが多発するような複雑なクエリを迅速に実行することに長けています。皆様の社内システムにおいても、そのようなクエリの実行に非常に時間がかかっている部分は無いでしょうか?また、リレーショナルDBの限界により、リアルタイムの処理を諦めている部分は無いでしょうか?グラフDBを利用することにより、そのような課題を解決できるかもしれません。おわりに次回は100件以上のグラフDB導入事例を調査した結果を基に、「グラフDBがどのような用途で導入されることが多いのか」についてご紹介する予定です。データ総研1985年創立。データ設計と標準化を専門とするITコンサルティングファーム。データ中心アプローチ(DOA)における先駆的企業であり、独自開発の設計技法と開発方法論をベースとしたコンサルティング事業を展開。業務要件定義、データ視点による業務プロセスの改善、データカタログに代表されるビジネス資源の整備に関するコンサルティングサービス、および、企業のデータマネジメント実践を目的とした教育サービスを提供。