前回のブログではグラフデータベース(以下、グラフDB)が年々注目を集めいている理由について紹介しました。今回は、Web上に公開されているグラフDBの導入事例の中から約150件を調査し、導入ケースのトップ5をご紹介します。
実装に用いられるデータベースはリレーショナルデータベース(以下、RDB)が一般的ですが、ここ最近はグラフDBを利用した事例が増えてきています。その理由は、非構造化データを含む様々な種類のデータをリアルタイムに集計・分析したいというニーズが増えていることから、以下2つのメリットを持つグラフDBが実装に使われていると考えられます。
事例には、銀行においてリアルタイムに与信審査を行うため、顧客データを一元管理するなどの取り組みがありました。
検索が速いグラフDBの特性を生かし、グラフ検索のために利用されるケースも多くありました。最も多いケースはSNS上の友達検索です。SNSのユーザ一人ひとりをノードとして管理し、エッジで友人関係を表します。他には、物流配送ルートのリアルタイム検索や研究機関における研究結果の検索のためにグラフDBを利用するケースがありました。
レコメンドエンジンとはECサイトの利用者が閲覧あるいは購入した商品と関連があり、利用者が買いたいと思う商品をオススメするシステムです。利用者がほんとうに欲しい商品をオススメするには、大量の顧客、購入履歴、商品などのデータと関係を使ってJOINが多発するようなクエリを実行する必要があります。実際の例では1つの商品ごとに50以上の商品属性情報を管理し、複雑なクエリを実行することでより精度の高いレコメンドエンジンを作り上げていました。当初はRDBで実装を企画していたものの、パフォーマンスが要件に満たなかったためグラフDBを採用した、という事例が多くありました。
ECサイトで商品を検索した利用者に対し、よりニーズに合った商品を表示するためにグラフDBを使用するケースがあります。この場合、商品そのものの情報と商品の属性情報はノードとして管理され、エッジにより商品と商品属性の関係を表していました。
Googleアシスタントの音声検索に対応したECアプリの事例では『来週、妻とTahoe湖にキャンプに行くからテントが欲しい。』という曖昧な条件でも、AIと合わせることで人数、場所、気温、シチュエーションなどの条件を読み取り、グラフDB上で条件に最も合ったテントを検索することが出来るようです。
金融業界の事例では、近年バーゼル規制などの法規制に対応するために社内のデータの流れを正確に把握し、レポートを作成することが求められていました。RDBでは検索に膨大な時間がかかることが想定されたため、グラフDBを利用することにしたそうです。
テーブル、ビュー、プロセスとレポートをノードとして管理し、エッジによって「どのレポートでどのテーブルとビューが使われているのか」そして「どのプロセスを実行する際にどのテーブルとビューが使われているのか」を管理することで、データの流れを即座に把握することを可能にしていました。
今回はグラフDBの導入ケーストップ5をご紹介しました。グラフDB導入検討のきっかけになれば幸いです。また、トップ5には入らなかったものの非常に興味深い事例も多くありました。特定の業種や業務領域に関する事例をお探しの方がいらっしゃいましたら、個別にご連絡いただければと思います。
データモデリング初心者が学ぶべき全ての知識を効率的に習得!実務に近い感覚で概念データモデリングの演習を行えます。研修期間中は、マンツーマンによる2回のオンライン講習と、3つの学習課題に取り組んでいただきます。