グラフデータベースとは?

NoSQLの基礎概念

Miriam Antona

Software engineer

グラフデータベース - 概要

  • データとその関係を同等に重視する
  • グラフ理論に基づく
    • 数学の一分野
    • 物体間の関係をモデル化するためのグラフを研究
NoSQLの基礎概念

グラフデータベース - グラフの構成要素

  • 頂点/ノード
  • エッジ

2つのノードを持つグラフの図。

NoSQLの基礎概念

グラフデータベース - グラフの構成要素

  • 頂点/ノード
  • エッジ/リンク/アーク

エッジで接続された2つのノードのグラフの図。

NoSQLの基礎概念

グラフデータベース - ノード

  • エンティティ(ユーザー、都市、空港、社員など)を表す
  • プロパティを持つ

ユーザーのノード。

NoSQLの基礎概念

グラフデータベース - ノード

  • エンティティ(ユーザー、都市、空港、社員など)を表す
  • プロパティを持つ

ユーザーとそのプロパティを持つノード。

NoSQLの基礎概念

グラフデータベース - エッジ

  • ノードを接続する
  • ノード間の関係を定義する

エッジで接続されたノード。

NoSQLの基礎概念

グラフデータベース - エッジ

  • ノードを接続する
  • ノード間の関係を定義する

エッジで接続され、関係が示されたノード。

NoSQLの基礎概念

グラフデータベース - エッジ

  • ノードを接続する
  • ノード間の関係を定義する

エッジで接続され、関係とプロパティが示されたノード。

NoSQLの基礎概念

グラフデータベース - エッジの種類

  • 有向:
    • 明確な向きがある

有向グラフの図。

NoSQLの基礎概念

グラフデータベース - エッジの種類

  • 無向:
    • 向きはない
    • 関係は相互

無向グラフの図。

NoSQLの基礎概念

グラフデータベース - クエリ

  • グラフのトラバース
  • 例:
    • Ben がフォローしているユーザーを取得
    • Carol が Shui をフォローし始めた時期を取得
    • 都市間の最短経路を取得
  • パス: グラフ上のノードとエッジの集合
  • クエリ言語: Cypher、Gremlin など
NoSQLの基礎概念

代表的なグラフデータベース

代表的なグラフデータベースのロゴ

NoSQLの基礎概念

演習に進みましょう!

NoSQLの基礎概念

Preparing Video For Download...