🌎

Neo4jとは

2022/09/26に公開

NoSQLとは?

Neo4jはNoSQLのDBMSです。
データベースというと、リレーショナルデータベース(RDB)が一般的ですが、RDBでないデータベースが2000年ごろから広がり始めました。そうした「RDBではないデータベース」をNoSQLと言います。RDBと区別するために、それ以外のデータベースを総称して使われています。
ちなみにNoSQLは「Not Only SQL」の略です。
つまり、「RDBはもう不要!これからはNOSQLだけあればいい!」ということではなく、「RDBだけではなくて、新しいデータベースも利用する必要がある」という背景があります。
※RDBを操作するための言語をSQLと言います。

NoSQLの種類

NoSQLは下記4つに分類されることが一般的です。

1. キー・バリュー型

「キー」と「バリュー」という組み合わせから作られるシンプルなモデル。
RDBのようにテーブルや関係性を定義する必要がない。
代表例:Redis、Amazon DynamoDB

2. 列指向型(カラム指向型)

キー・バリュー型を高度にしたモデル。
キーが1つのバリューと対になるのではなく、キーが複数のカラム(列)を持つことができる。
代表例:GoogleBigTable、Cassandra

3. ドキュメント型

JSONやXMLをそのままドキュメントの形でデータを管理するモデル。
複雑な階層構造のデータをそのまま1レコードにできる。
代表例:MongoDB

4. グラフ型

数学のグラフ理論に基づいた「ノード(主要なデータの要素)」、「エッジ(関係性)」、「プロパティ(属性情報)」から構成されるモデル。
SQLではJOINが複雑になるほど速度が遅くなるが、グラフ型では関係性が複雑であっても速度が速い。
代表例:Neo4j、TigerGraph

Neo4jとは

下記4つで構成されるデータモデル
1. ノード
2. リレーションシップ
3. プロパティ
4. ラベル

参考

NOSQLの基礎知識
【図解】NoSQLとは?注目される背景や種類をわかりやすく解説
NoSQLとは?メリットやRDBMSとの違いについてわかりやすく解説
Neo4jドキュメント

Discussion