今回は NoSQL とは どんなものかについてまとめます。 今更といえば今更ですが…基本的なことなので改めて整理しておきます。
NoSQLとは
NoSQL とは "Not only SQL" と解釈される、非リレーショナルデータベース全般を指すものです。 非リレーショナルデータベース全般というように、リレーショナルデータベース以外のデータベースすべてを指します。
非リレーショナルデータベースのデータモデル例としては、ドキュメント、グラフ、キーバリューなどがあります。
RDB と NoSQL の違い
RDB (= リレーショナルデータベース) と NoSQL (=非リレーショナルデータベース) の特徴を表にまとめると以下のようになります。
RDBとNoSQLの間の違いはデータ構造はもちろんですが、データ整合性に対する考え方、スケーリングについても違いがあります。
RDB | NoSQL | |
---|---|---|
データ構造 | データ構造を表形式に表現します。 データ構造表現には「テーブル」および「テーブル間のつながり」を用います。 | 表形式以外の方法でデータ構造を表現します。 表現方法にはドキュメント(XML, JSON)、キーバリュー、グラフなどがあります。 |
ACID特性 | データ不整合が起こらないよう厳密な管理がされます。 | 結果整合性と呼ばれるように、厳密なデータ整合性管理が行われません。 速度を優先してデータに関しては"結果的に"整合性が取れることを保証します。 |
スケーリング | 垂直方向へのスケーリング(サーバースペックの増強)が行いやすいです。 | 水平方向へスケーリング(サーバー台数の増強)しやすいのが特徴です。 |
NoSQL の 具体例
NoSQLを利用できる製品をいくつか以下に取り上げます。
種別 | 製品例 |
---|---|
ドキュメント | |
キーバリュー | |
グラフ |
今回はNoSQLについてまとめました。 参考になったでしょうか?
本記事がお役に立っていると嬉しいです!!
参考記事
最後に… このブログに興味を持っていただけた方は、 ぜひ 「Facebookページ に いいね!」または 「Twitter の フォロー」 お願いします!!