用語比較
リレーショナルデータベース(RDB)とNoSQLの違い|表で持つか、用途に合う形で持つか(DS検定)
リレーショナルデータベース(RDB)とNoSQLの違いはデータの持ち方で、RDBは行と列を持つ表、NoSQLはキーと値の組、ワイドカラム、グラフ、ドキュメントなど表以外の1つのデータ構造でデータを持ちます。
表で持つのがRDB、表以外の形で持つのがNoSQLと区別するのが出発点です。NoSQLは「Not only SQL」または「非リレーショナル」の意味で使われる呼び名で、SQLを使わないという意味に限りません。
この記事の目次
この記事の根拠と出典
各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。
RDBとNoSQLの要点
RDB
行と列を持つ表でデータを整理するデータベース。表どうしを関連づけて扱う。
NoSQL
表以外の1つのデータ構造(キーと値の組・ワイドカラム・グラフ・ドキュメントなど)でデータを持つデータベースの総称。「Not only SQL」または「非リレーショナル」の意味で使われる。
違いを表で確認
| 比較軸 | RDB | NoSQL |
|---|---|---|
| データの持ち方 | 行と列を持つ表 | キーと値の組、ワイドカラム、グラフ、ドキュメントなど |
| スキーマ(データの形の決まり) | 表の列を先に決める | 固定のスキーマを必要としない設計が多い |
| 表どうしの結合 | JOINで表を結びつけて取り出せる | 表をまたぐ即席の結合ができないことが、普及の壁として挙げられる |
| 整合性(ACID) | トランザクションで整合性を守る設計が基本 | 完全なACIDを持たないものが多く、一部は備える |
| 試験で探す語 | 表、行と列、JOIN、正規化 | キーと値、ドキュメント、非構造化、スキーマが固定でない |
DS検定の学習に使う書籍(Amazon)
PRどこで迷っているかを切り分ける
NoSQLを「SQLが使えないデータベース」と覚えている人
NoSQLは「Not only SQL」または「非リレーショナル」の意味で使われます。見分ける軸は、SQLの有無でなく、表以外の構造でデータを持つかどうかです。
データの種類から、どちらを選ぶかを決めたい人
行と列の表に収まる構造化データで、表どうしを結びつけて集計するならRDBが向きます。形が一定でないデータを大量に持つ場合に、NoSQLが選ばれます。
問題文で「キーと値」「ドキュメント」の語が出たときの手がかりを知りたい人
キーと値の組、ワイドカラム、グラフ、ドキュメントのどれかを挙げているなら、NoSQLの種類の説明です。
具体例で使い分ける
例 1
顧客と注文のデータを持つ場合
顧客テーブルと注文テーブルを、顧客IDで結びつけて集計したい場面です。
- 行と列の表に収まり、表どうしを関連づけて集計するデータなので、RDBが向きます。
- SQLのJOINで顧客と注文を結びつけ、顧客ごとに集計できます。
結論: 表どうしを結びつけて集計するデータは、RDBに合います。
例 2
形が一定でないデータを大量に持つ場合
利用者ごとに項目が異なる設定情報を、大量に持ちたい場面です。
- 項目が利用者ごとに異なるので、表の列を先に固定しにくいデータです。
- 固定のスキーマを必要としない設計が多いNoSQLなら、データの形に合わせて持てます。
- ただし、表をまたいで即席に結合する用途には向きません。
結論: 形が一定でないデータを大量に持つ場面で、NoSQLが選ばれます。
問題文から答えを選ぶ手順
- 1
データの形を見る
行と列の表に収まるならRDB、表に収まりにくい形ならNoSQLを考えます。
- 2
表どうしを結びつける必要を確かめる
結合して集計する必要が強いならRDBです。
- 3
整合性の要件を確かめる
トランザクションで整合性を守る必要が強いなら、RDBを基本に考えます。
- 4
NoSQLの中で種類を選ぶ
キーと値の組、ワイドカラム、グラフ、ドキュメントのうち、データの形に合うものを選びます。
試験での見分け方
- 1RDBは、行と列を持つ表でデータを整理するデータベースである。
- 2NoSQLは、表以外の1つのデータ構造でデータを持つデータベースの総称で、「Not only SQL」または「非リレーショナル」の意味で使われる。
- 3データストアは、データの形と用途に応じて選ぶ。
誤答しやすい選択肢
NoSQLを、SQLを使えないデータベースと考える
修正: NoSQLは「Not only SQL」または「非リレーショナル」の意味で使われる呼び名で、見分ける軸はデータの持ち方です。
NoSQLは、すべてRDBより優れていると考える
修正: NoSQLには、表をまたぐ即席の結合ができないといった制約があります。用途に応じて選びます。
NoSQLを1つの製品名や1種類のデータベースと考える
修正: NoSQLは、キーと値の組、ワイドカラム、グラフ、ドキュメントなど複数の種類を含む総称です。
確認問題
Q1行と列を持つ表でデータを整理するデータベースは何ですか?
答え: リレーショナルデータベース(RDB)
表どうしを関連づけて扱い、SQLで操作します。
Q2キーと値の組やドキュメントなど、表以外の構造でデータを持つデータベースの総称は何ですか?
答え: NoSQL
「Not only SQL」または「非リレーショナル」の意味で使われます。
Q3データストアを選ぶとき、RDB以外に挙がる種類を1つ答えてください。
答え: NoSQL(時系列DB、グラフDB、ベクトルDBなども可)
スキルチェックリストは、要件に応じて適切なデータ蓄積機能を選ぶことを求めています。
到達チェック
- RDBのデータの持ち方を言える
- NoSQLの意味と、含まれる種類を言える
- RDBが向く場面とNoSQLが選ばれる場面を説明できる
- NoSQLの制約を1つ言える
関連ページで確認する
同じ資格で次に知りたいこと
- 主キーと外部キーの違い|行を特定するか、別の表を指すか(DS検定)
主キーと外部キーの違いを、役割、重複とNULL、表どうしのつながり、参照整合性で解説。DS検定のER図とテーブル設計で問われる見分け方の手順と確認問題つきです。
- 形態素解析と係り受け解析の違い|単語に分けるか、単語どうしのつながりを調べるか(DS検定)
形態素解析と係り受け解析の違いを、入力と出力、処理の順序、日本語の例文で解説。DS検定の自然言語処理で問われる見分け方の手順と確認問題つきです。
- バッチ処理とストリーム処理の違い|まとめて処理するか、届くたびに処理するか(DS検定)
バッチ処理とストリーム処理の違いを、処理のタイミング、結果が出るまでの待ち時間、向く用途で解説。DS検定のデータ蓄積で問われるKafka・Flinkなどの位置づけと確認問題つきです。
よくある質問
QRDBとNoSQLの一番大きな違いは何ですか?
データの持ち方です。RDBは行と列を持つ表で、NoSQLはキーと値の組、ワイドカラム、グラフ、ドキュメントなど表以外の構造で持ちます。
QNoSQLは「SQLを使わない」という意味ですか?
いいえ。Wikipediaは、NoSQLを「not only SQL」または「non-relational」の意味と説明しています。
QNoSQLはトランザクションに対応しますか?
Wikipediaは、多くのNoSQLは完全なACIDトランザクションを備えず、MongoDBのように備えるものもあると説明しています。
QDS検定にNoSQLは出ますか?
データサイエンティスト協会のスキルチェックリストに、NoSQLデータストアへAPIを介して新規データを登録できること(★1つ星)と、RDBに加えNoSQLなどから要件に応じて選べること(★★2つ星)が含まれます。
次に見る比較
- G検定・DS検定・統計検定2級で重なる用語10語の比較
同じ名前の用語の定義と収録章を、資格ごとに並べます。
- ベイズの定理と条件付き確率の違い(統計検定2級の式と計算例)
求める確率の向きの違いと、陽性になる確率の計算例を確かめます。
- 紛らわしい用語ペア早見表
混同しやすい用語の違いと判定の手掛かりを、資格別の一覧で確かめます。
執筆: AI資格ドリル編集部(運営者情報を見る)
