リレーショナルデータベースとグラフデータベースの比較 質問する

リレーショナルデータベースとグラフデータベースの比較 質問する

Neo4j などのグラフ データベースと比較した、MySQL などのリレーション データベースの利点と欠点を説明していただけますか?

SQL では、さまざまな ID でリンクされた複数のテーブルがあります。次に、テーブルを接続するために join する必要があります。初心者の観点からすると、グラフ データベースのように最初からエッジとして明示的に接続するのではなく、join を必要とするデータベースを設計するのはなぜでしょうか。概念的には初心者には意味がわかりません。おそらく、これには非常に技術的ですが概念的ではない理由があるのでしょうか。

ベストアンサー1

どちらのスタイルにも概念的な根拠があります。Wikipediaリレーショナルモデルそしてグラフデータベースこれについての概要がよくわかります。

主な違いは、グラフ データベースでは関係が個々のレコード レベルで保存されるのに対し、リレーショナル データベースでは構造がより高いレベル (テーブル定義) で定義されることです。

これには重要な影響があります:

  • リレーショナル データベースは、膨大な数のレコードを操作する場合、はるかに高速です。グラフ データベースでは、データの構造を判断するためにクエリ中に各レコードを個別に調べる必要がありますが、リレーショナル データベースではデータの構造が事前にわかっています。
  • リレーショナル データベースでは、すべての関係を保存する必要がないため、使用するストレージ スペースが少なくなります。

すべての関係を個々のレコード レベルで保存するのは、関係に多くのバリエーションがある場合のみ意味があります。そうでない場合は、同じものを何度も繰り返しているだけです。つまり、グラフ データベースは不規則で複雑な構造に適しています。しかし、現実の世界では、ほとんどのデータベースでは規則的で比較的単純な構造が必要です。これが、リレーショナル データベースが主流である理由です。

おすすめ記事