NoSQL・NewSQLとは(全体像)
NoSQLとは、関係データベース(RDB、表形式)以外の、柔軟で拡張しやすいデータベースの総称のことだ。大量で多様なデータを扱うのに向く。代表的な種類を見てみよう。
- Key-Value型(Redisなど)… キャッシュなどに
- ドキュメント型(MongoDBなど)… 柔軟な形のデータに
- そのほか、列指向型・グラフ型など
ここで一番のポイント。NoSQLは「SQLが使えない」という意味ではない。「NoSQLは、SQLがまったく使えないデータベースだ」と思い込むと誤りで、「RDB以外」という意味(Not Only SQL)だ。
そして、NewSQLは、RDBの信頼性(ACID)と、NoSQLのような拡張性(スケーラビリティ)を、両立させた新しいデータベースだ。
詳しく:NewSQLと、CAP定理
ここが心臓部。ポイントを表で押さえよう。
NoSQL・NewSQLのポイント
| 項目 | やさしい意味 |
|---|---|
| NoSQL | RDB以外の、柔軟で拡張しやすいデータベース |
| NoSQLの型 | Key-Value型・ドキュメント型など |
| NewSQL | ACID(信頼性)と拡張性を両立させた新しいDB |
| CAP定理 | 一貫性・可用性・分断耐性の3つのうち2つまで |
NewSQLは、RDBのよさ(ACID)と、NoSQLのよさ(拡張性)の、いいとこどりを目指したものだ。
そして、もう1つ大事なのが、CAP定理。これは、一貫性(C)・可用性(A)・分断耐性(P)の3つを、同時にすべて満たすことはできず、2つまでという考え方だ。ここで一番のポイント。CAP定理は、3つのうち2つまで。「CAP定理は、3つすべてを同時に満たせる」と思い込むと誤りになる。
わかりやすく言い換えると
身近なたとえで整理しよう。
NoSQLは、「表(RDB)にこだわらない、柔軟で拡張しやすいデータベース」のイメージ。大量で多様なデータに強い。
「SQLが使えない、ではない」というのは、NoSQLは「RDB以外」という意味(Not Only SQL)だということ。要するに、SQLを否定するものではない。
CAP定理は、「一貫性・可用性・分断耐性の3つのうち、同時に満たせるのは2つまで」こと。つまり、3つ全部は欲張れない。
試験のツボ
🔴 一番出る:NoSQLの正体
①RDB以外の、柔軟で拡張しやすいデータベースの総称
②「SQLが使えない」ではなく「RDB以外」(Not Only SQL)
🔴 次に出る:NewSQL
①ACID(信頼性)と拡張性(スケーラビリティ)を両立
②RDBとNoSQLのいいとこどりを目指す
🟡 押さえると安定:CAP定理
①一貫性・可用性・分断耐性の3つがある
②同時に満たせるのは2つまで(3つ全部はできない)
よくある間違い
①「NoSQLは、SQLがまったく使えないデータベースだ」→ ✗ NoSQLは「RDB以外」という意味(Not Only SQL)。SQLを否定するものではない。
②「CAP定理は、3つ(一貫性・可用性・分断耐性)すべてを同時に満たせる」→ ✗ CAP定理では、同時に満たせるのは2つまで。
③「NewSQLは、ACIDをいっさい持たないデータベースだ」→ ✗ NewSQLは、ACID(信頼性)と拡張性を両立させたデータベース。
試験での出題パターン
実際の問題でたしかめてみよう。
オリジナル問題1(NoSQLの正体)
NoSQLに関する次の記述のうち、最も適切なものはどれか。
- RDB以外の、柔軟で拡張しやすいデータベースの総称のことだ
- 社員の出退勤を記録して、毎月の給与を計算するためのしくみだ
- 取引先へ毎月の請求書を郵送する、決まった事務作業のことを指す
- 完成したシステムを宣伝して、より多く売るための広告活動である
解答は 1 です。
NoSQLは、RDB以外の、柔軟で拡張しやすいデータベースの総称なのです。「SQLが使えない」ではなく「RDB以外」という意味なります。
選択肢2は給与計算、選択肢3は請求書の事務、選択肢4は広告で、どれも違うのです。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✓ | RDB以外の柔軟なデータベースで正しい |
| 2 | ✗ | 給与計算のしくみではない |
| 3 | ✗ | 請求書の事務の話 |
| 4 | ✗ | 広告活動ではない |
オリジナル問題2(NewSQL)
NewSQLに関する次の記述のうち、最も適切なものはどれか。
- 社員の給与を計算するときだけ、使われるものだとされている
- 取引先へ請求書を郵送するときだけ、使われるものだとされる
- ACID(信頼性)と拡張性を両立させた、新しいデータベースだ
- ACIDをいっさい持たないデータベースだとされているものである
解答は 3 です。
NewSQLは、ACID(信頼性)と拡張性を両立させた、新しいデータベースなのです。RDBとNoSQLのいいとこどりを目指すなります。
選択肢1の給与、選択肢2の請求書、選択肢4の「ACIDを持たない」は、いずれも違うのです。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 給与計算のときだけではない |
| 2 | ✗ | 請求書のときだけではない |
| 3 | ✓ | ACIDと拡張性を両立で正しい |
| 4 | ✗ | ACIDを両立させている |
オリジナル問題3(CAP定理)
CAP定理に関する次の記述のうち、最も適切なものはどれか。
- 社員の給与の計算しだいで、満たせる数が決まるとされているものだ
- 一貫性・可用性・分断耐性の3つのうちで、満たせるのは2つまでだ
- 取引先への請求書の枚数しだいで、満たせる数が決まるとされている
- 3つ(一貫性・可用性・分断耐性)すべてを同時に満たせるのである
解答は 2 です。
CAP定理は、一貫性・可用性・分断耐性の3つのうち、満たせるのは2つまでなのです。3つ全部は欲張れないなります。
選択肢1の給与、選択肢3の請求書、選択肢4の「3つすべて」は、いずれも違うのです。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 給与計算で決まるのではない |
| 2 | ✓ | 3つのうち2つまでで正しい |
| 3 | ✗ | 請求書の枚数で決まるのではない |
| 4 | ✗ | 同時に満たせるのは2つまで |
まとめ
押さえどころ
- 🔴 NoSQL = RDB以外の、柔軟で拡張しやすいデータベースの総称(Key-Value型・ドキュメント型など)。「SQLが使えない」ではなく「RDB以外」。
- 🔴 NewSQL = ACID(信頼性)と拡張性(スケーラビリティ)を両立させた、新しいデータベース。
- 🟡 CAP定理 = 一貫性・可用性・分断耐性の3つのうち、同時に満たせるのは2つまで。
次に学ぶ
- データベース ── データを整理してためるしくみ。NoSQL・NewSQLは、その新しい種類。
- スケーラビリティ ── データや利用が増えても、性能を保てる拡張のしやすさ。NoSQL・NewSQLが重視する。
執筆: SikakuQuest編集部