NoSQLに属するグラフDBについて、もう少し調べてみた。
グラフDBの特徴
- データ同士の関係性を表現することに特化したDB
- ノード、リレーションシップ、プロパティの3つを構成要素として持つ
グラフDBについては目的が明確なので、そこまで調べなくても腑に落ちるDBだった。RDBでデータ同士の(深く繋がる)関係性を表そうとしたら、複数のテーブルと参照整合性制約の絡み合った複雑怪奇なことになるのが容易に想像がつくので、グラフDBの存在意義はわかりやすい。
グラフDBの3要素
3つの構成要素についてまとめてみた。
- ノード:関係性を保持するもの。頂点とも呼ぶ。
- リレーションシップ:ノード間の関係有無および関係の方向性を表すもの。エッジとも呼ぶ。
- プロパティ:ノードおよびリレーションシップの属性値
主なグラフDB
グラフDBについて調べてみたが、本当は色々あるのだろうが、Neo4jの情報ばがりが出てきたので、選択肢的には少ないのだろう。
Oracle DatabaseもグラフDBを扱えるようになる(なっている?)らしいので、そのうちNeo4j以外の情報も目にすることになるのかもしれない。
Oracle Databaseの内容が多めになるはずだったのに、NoSQLのことばかり書いているなあ……次回はOracle Databaseネタで何か調べたい。
今回の調査も、NoSQLについて調べた際の書籍を基に調査しました。
NOSQLの基礎知識 (ビッグデータを活かすデータベース技術)
著者:本橋信也, 河野達也, 鶴見利章, 太田 洋(監修)
出版社:リックテレコム
発売日:2012/04/15
次の記事:データパッチにおけるUPDATE vs INSERT方式について調べてみた ~ その1 ~
前回の記事:カラムストア型DBについて調べてみた