メインコンテンツまでスキップ

「GraphDB」タグの記事が1件件あります

全てのタグを見る

· 約4分
wen

RDB(リレーショナルデータベース)と Graph DB(グラフデータベース)の違いを、初心者にも分かりやすく説明します!😊

1️⃣ イメージの違い

  • RDBは、データが「エクセルの表」みたいに整理されています。

    • 例: ユーザー名や年齢を行と列に分けて管理する感じ。
  • Graph DBは、「つながりを描いた地図」みたいなものです。

    • 例: 人と人がどんな関係(友達、フォローなど)で結びついているかを線で描いた図。

2️⃣ データの関係性

  • RDB:

    • データは「表(テーブル)」ごとに分けられていて、表と表を「線で結ぶ」ようにして関係を作ります。
    • 例:
      • ユーザーテーブル(名前や年齢などを記録)
      • 注文テーブル(何を買ったか記録)
      • 「この注文は誰のもの?」を結びつけるには「ID」を使います。
  • Graph DB:

    • データ(ノード)と関係性(エッジ)がセットになっています。
    • 例:
      • A さん → 「B さんをフォロー」 → B さん
      • 「誰が誰とどうつながっているか」が直接記録されているので、地図のように見えます。

3️⃣ 例で理解する:友達関係を記録する場合

RDB

  1. 友達リストを作る表:

    ユーザー ID名前
    1太郎
    2花子
  2. 友達関係を記録する表:

    ユーザー ID友達 ID
    12
  3. 「太郎の友達は誰?」と聞くとき:

    • 太郎(ID: 1)の友達 ID を探して、別の表でその名前を探す。
    • 計算に少し時間がかかる。

Graph DB

  1. データを直接描く:

    • 太郎 → [友達] → 花子
  2. 「太郎の友達は誰?」と聞くとき:

    • 太郎から直接つながっているノードを探すだけ!
    • 地図の線をなぞるように簡単。

4️⃣ 何に向いているか?

タイプRDB に向いているケースGraph DB に向いているケース
適用例商品管理、給与計算、予約システムなどソーシャルネットワーク、推薦システム、知識マップなど
関係性の深さ関係が浅い(1 対 1、1 対多)のデータに強い関係が深い(多対多、何層もつながりがある)データに強い
データ構造の変更データ構造が変わりにくい場合に強い関係性がよく変化する場合に強い

5️⃣ ポイントまとめ

  • RDBは、データを「表(テーブル)」形式で扱い、関係性を「計算」で見つける。
  • Graph DBは、データの「つながり」そのものを保存し、関係をすぐに見つけられる。

イメージするなら:

  • RDB: 「住所録」みたいに、名前と住所が整理されたノート。
  • Graph DB: 「相関図」みたいに、誰が誰とつながっているかを線で表現。Graph DB は、特に人や物の関係性を分析したり、複雑なつながりを探すときに便利です! 😊