2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

グラフデータベース 入門

Last updated at Posted at 2019-10-30

初めに

とあるインターンでグラフデータベースを触ったのでシェアしたいなと思います。

私自身、SQLが少し書けるくらいでグラフデータベースは愚か、データベース自体ちゃんと触った事がありませんでした。しかし、グラフデータベースは直感的でわかりやすく、比較的短い時間で実装まで移ることができました。

グラフデータベースってなに?

関係性を表すことができるNoSQLなデータベース。
SNSの「知り合いかも?」やECサイトの「おすすめ」など、レコメンデーション機能に適している。

####メリットとデメリット
繋がりを表すのがめちゃくちゃ速い。

例えば、「Aさんの友達の友達の友達」を知りたい場合。一見シンプルそうだが、SQLなデータベースだと結構しんどいのが想像できると思います。

一方で、データ全体の統計分析などは苦手。

####構成要素
グラフデータベースはノード、エッジ、プロパティの三つから構成されます。ノードのことを頂点、エッジのことを端なんて呼んだりします。

下記の図にて解説します。

image.png

ここではノードであるUser同士がFriendというエッジにより結ばれています。エッジはグラフデータベースの最も重要な要素であり、これがあることでノード同士の関係性が表せます。

また、プロパティとしてそれぞれの情報を追加する事ができます。例えば、年齢や日付などなど。プロパティはノードのみならず、エッジにも同様に追加する事が可能です。

最後に

今後、実装の仕方やQueryの書き方なども追加していけたらと思ってます。
間違いや分かりづらいところなどがありましたら、ご教授ください。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?