第2章. リレーショナル思考からグラフ思考へ進化する
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
私たちは長年にわたり、グラフ・データやグラフ・テクノロジーをどこでどのように使い始めるべきか、何百ものチームにアドバイスしてきた。これらのチームとの会話から、グラフ思考とグラフ・データをビジネスに導入するための最も一般的な質問とアドバイスをまとめた。
グラフ思考への旅は、グラフ・テクノロジーを評価する際にどのチームも遭遇する以下の3つの質問から始めたい:
-
グラフテクノロジーはリレーショナルテクノロジーよりも私の問題に適しているのだろうか?
-
自分のデータをグラフとして考えるにはどうしたらいいか?
-
グラフのスキーマをモデル化するにはどうすればいいか?
これらの3つのトピックを理解するために前もって時間をかけるチームは、グラフ技術を自社のスタックにうまく統合できる可能性が高い。逆に、私たちの経験では、初期のグラフ・プロジェクトが棚上げにされたのは、チームが、自分たちのビジネスにとってこれらの疑問点をまとめて理解することをスキップしてしまったからである。
章のプレビュー関係概念をグラフ用語に変換する
冒頭の3つの質問は、この章のアウトラインを形成している。
まず、リレーショナル・テクノロジーとグラフ・テクノロジーの違いを簡単に説明する。 次に、リレーショナル・データ・モデリングの概略を説明する。このモデルから、リレーショナル概念をグラフ・モデリングのテクニックに変換し、グラフ理論の基本的な用語を簡単に説明する。
また、グラフスキーマをコードに変換するための言語(ツール)であるグラフスキーマ言語(GSL)を紹介する。 GSLは章冒頭の質問2と3に答えるために作成した。本書を通して、GSLをダイアグラムをスキーマ文に変換するための教材として使用する。
グラフ思考やグラフ技術をワークフローに取り入れるかどうか、どこで、どのように取り入れるか、必然的に厳しい決断を迫られることになる。この章では、多くの技術的な意見をナビゲートするためのツールやテクニックを紹介する。ここで提供する基礎は、グラフ技術があなたの次のアプリケーションにとって正しい選択かどうかを評価するのに役立つだろう。
本章で紹介する概念と技術的決定は、今後の例題の基礎資料となる。 この章では、本書全体の例でグラフデータベーススキーマとグラフデータを記述するために使用する語彙を明確に説明する。
グラフデータをアプリケーションに導入することで、データの中で何が重要かを考える新しいパラダイムが生まれる。これらの原則の違いを理解することは、リレーショナル思考からグラフ思考へと考え方を進化させることから始まる。
リレーショナルとグラフ:何が違うのか?
ここまで、リレーショナルとグラフという2つの異なるテクノロジーについて述べてきた。 リレーショナル・システムとは、人、場所、物といった現実世界の実体の保存と検索に焦点を当てた方法でデータを整理することを指す。グラフ・システムとは、関係の保存と検索に焦点を当てたシステムのことである。これらの関係は、現実世界のエンティティ間のつながりを表している。人は人を知っている、人は場所に住んでいる、人はモノを所有している、といった具合だ。
どちらのシステムもエンティティやリレーションシップを同様に表現することができるが、どちらか一方のために構築され、最適化されている。