NoSQL(Not only SQL)とは、表(テーブル)の形にとらわれず、さまざまな形のデータを柔軟に保存・管理できるデータベースの総称です。従来の主流であった「リレーショナルデータベース(RDB)」が、行と列からなる表でデータを整理するのに対し、NoSQLはもっと自由な形でデータを扱えます。名前は「Not only SQL(SQLだけではない)」に由来し、SQLを使うRDB以外の選択肢をまとめて指す言葉です。「ノーエスキューエル」と読みます。
現実世界でいえば、きっちり仕切られた「表計算の用紙」ではなく、なんでも放り込める「大きな収納箱」のようなものです。表形式は項目がそろったデータの管理は得意ですが、形の異なるデータには窮屈です。NoSQLは、決まった枠に縛られず、形の違うデータもそのまま収められるため、変化の多いデータや大量のデータを扱う場面で力を発揮します。
NoSQL図解
NoSQLの特徴
NoSQLは、柔軟さと拡張のしやすさを重視して設計されています。おもな特徴を整理します。
- 形が自由
あらかじめ表の形を決めなくても、多様なデータを保存できます。 - 大量データに強い
膨大なデータや高速なアクセスにも対応しやすいです。 - 拡張しやすい
サーバーを増やして処理能力を高めるのが得意です。
RDBとの違い
NoSQLを理解するには、従来型の「リレーショナルデータベース(RDB)」と比べると分かりやすくなります。両者は得意分野が異なり、用途によって使い分けられます。
| 種類 | 特徴 |
|---|---|
| RDB | 表形式で整理。厳密なデータ管理や複雑な検索に強い。 |
| NoSQL | 形が自由で拡張しやすい。大量・多様なデータに強い。 |
NoSQLのおもな種類
NoSQLとひと口に言っても、実際にはデータの持ち方によっていくつかの種類に分かれます。代表的なものに、鍵と値をペアで保存する「キー・バリュー型」、まとまった文書の単位で保存する「ドキュメント型」、つながりや関係を表すのが得意な「グラフ型」などがあります。それぞれ得意なデータの形が異なるため、扱いたいデータの性質に合わせて選びます。「NoSQL」はこうした多様なデータベースをまとめた総称であり、一つの決まった製品を指す言葉ではない、という点を押さえておくとよいでしょう。
NoSQLが使われる場面
NoSQLは、SNSの投稿やアクセス履歴、大量のセンサーデータ、リアルタイムのやり取りなど、データの形が一定でなかったり、量が非常に多かったりする場面で活躍します。世界規模の大きなWebサービスでも、その裏側でNoSQLが使われていることが少なくありません。ただし、NoSQLがRDBの上位互換というわけではなく、厳密なデータ管理や複雑な集計はRDBのほうが得意です。それぞれの長所を理解し、目的に合わせて選ぶことが、上手なデータベース活用のポイントです。
あわせて知っておきたい用語
- データベース(DataBase):
データを整理して蓄積・検索できるようにした仕組みです。 - RDB(リレーショナルDB):
データを表の形で管理する従来型のデータベースです。 - SQL:
RDBを操作するための命令言語です。 - MongoDB:
代表的なNoSQLデータベースの一つです。 - スケーラビリティ:
規模の拡大に応じて性能を伸ばせる能力のことです。


コメント