5章実世界のグラフ

本章では、実世界でのグラフデータベースの一般的なユースケースを考察し、リレーショナルストアや他のNoSQLストアではなくグラフデータベースを使うことにした理由を突き止めます。本章の大部分は、3つの詳細なユースケースと関連するデータモデルやクエリの詳細からなります。それぞれの例は、実世界の本番システムを基にしています。しかし、名前を変えており、必要に応じて技術的詳細を簡素化して余計な複雑さを隠し、重要な設計ポイントを浮き彫りにしています。

5.1 グラフデータベースを選ぶ理由

本書では終始、グラフデータベースモデルとその威力、柔軟性、本来備わっている表現力をほめたたえています。実世界の問題へのグラフデータベースの適用に関しては、実世界での技術的制約やビジネス上の制約があるため、以下の理由からグラフデータベースを選びます。

「分単位から秒単位」のパフォーマンス
クエリのパフォーマンスと応答性は、データプラットフォームに関する多くの懸念事項の上位を占めます。特にオンライントランザクションシステムや大規模Webアプリケーションでは、成功を収めたいならエンドユーザにミリ秒単位で応答しなければいけません。リレーショナル領域では、アプリケーションのデータサイズが増えるにつれ、結合が悩みの種となり始め、パフォーマンスが悪化します。グラフデータベースはインデックスなし隣接性を使って複雑な結合を高速なグラフ走査に変えるため、データセットの全体サイズにかかわらずミリ秒単位のパフォーマンスを維持します。
開発サイクルの大幅な短縮
グラフデータモデルは、ソフトウェア開発を数十年間苦しめてきたインピーダンスミスマッチを減らすので、オブジェクトモデルと表形式のリレーショナルモデルとの間を行きつ戻りつ変換する開発オーバーヘッドが減少します。さらに重要なことに、グラフモデルは技術ドメインとビジネスドメインとの間のインピーダンスミスマッチも減らします。対象分野の専門家、アーキテクト、開発者が、後にアプリケーションに組み込む共有モデルを使って中核ドメインについて話し合い、頭に描きます。 ...

Get グラフデータベース ―Neo4jによるグラフデータモデルとグラフデータベース入門 now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.