AI資格ドリル
資格を選ぶ

用語比較

リレーショナルデータベース(RDB)とNoSQLの違い|表で持つか、用途に合う形で持つか(DS検定)

リレーショナルデータベース(RDB)とNoSQLの違いはデータの持ち方で、RDBは行と列を持つ表、NoSQLはキーと値の組、ワイドカラム、グラフ、ドキュメントなど表以外の1つのデータ構造でデータを持ちます。

表で持つのがRDB、表以外の形で持つのがNoSQLと区別するのが出発点です。NoSQLは「Not only SQL」または「非リレーショナル」の意味で使われる呼び名で、SQLを使わないという意味に限りません。

この記事の根拠と出典

各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。

RDBとNoSQLの要点

RDB

行と列を持つ表でデータを整理するデータベース。表どうしを関連づけて扱う。

NoSQL

表以外の1つのデータ構造(キーと値の組・ワイドカラム・グラフ・ドキュメントなど)でデータを持つデータベースの総称。「Not only SQL」または「非リレーショナル」の意味で使われる。

違いを表で確認

比較軸RDBNoSQL
データの持ち方行と列を持つ表キーと値の組、ワイドカラム、グラフ、ドキュメントなど
スキーマ(データの形の決まり)表の列を先に決める固定のスキーマを必要としない設計が多い
表どうしの結合JOINで表を結びつけて取り出せる表をまたぐ即席の結合ができないことが、普及の壁として挙げられる
整合性(ACID)トランザクションで整合性を守る設計が基本完全なACIDを持たないものが多く、一部は備える
試験で探す語表、行と列、JOIN、正規化キーと値、ドキュメント、非構造化、スキーマが固定でない

どこで迷っているかを切り分ける

01

NoSQLを「SQLが使えないデータベース」と覚えている人

NoSQLは「Not only SQL」または「非リレーショナル」の意味で使われます。見分ける軸は、SQLの有無でなく、表以外の構造でデータを持つかどうかです。

02

データの種類から、どちらを選ぶかを決めたい人

行と列の表に収まる構造化データで、表どうしを結びつけて集計するならRDBが向きます。形が一定でないデータを大量に持つ場合に、NoSQLが選ばれます。

03

問題文で「キーと値」「ドキュメント」の語が出たときの手がかりを知りたい人

キーと値の組、ワイドカラム、グラフ、ドキュメントのどれかを挙げているなら、NoSQLの種類の説明です。

具体例で使い分ける

例 1

顧客と注文のデータを持つ場合

顧客テーブルと注文テーブルを、顧客IDで結びつけて集計したい場面です。

  • 行と列の表に収まり、表どうしを関連づけて集計するデータなので、RDBが向きます。
  • SQLのJOINで顧客と注文を結びつけ、顧客ごとに集計できます。

結論: 表どうしを結びつけて集計するデータは、RDBに合います。

例 2

形が一定でないデータを大量に持つ場合

利用者ごとに項目が異なる設定情報を、大量に持ちたい場面です。

  • 項目が利用者ごとに異なるので、表の列を先に固定しにくいデータです。
  • 固定のスキーマを必要としない設計が多いNoSQLなら、データの形に合わせて持てます。
  • ただし、表をまたいで即席に結合する用途には向きません。

結論: 形が一定でないデータを大量に持つ場面で、NoSQLが選ばれます。

問題文から答えを選ぶ手順

  1. 1

    データの形を見る

    行と列の表に収まるならRDB、表に収まりにくい形ならNoSQLを考えます。

  2. 2

    表どうしを結びつける必要を確かめる

    結合して集計する必要が強いならRDBです。

  3. 3

    整合性の要件を確かめる

    トランザクションで整合性を守る必要が強いなら、RDBを基本に考えます。

  4. 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つ言える

同じ資格で次に知りたいこと

よくある質問

QRDBとNoSQLの一番大きな違いは何ですか?

A

データの持ち方です。RDBは行と列を持つ表で、NoSQLはキーと値の組、ワイドカラム、グラフ、ドキュメントなど表以外の構造で持ちます。

QNoSQLは「SQLを使わない」という意味ですか?

A

いいえ。Wikipediaは、NoSQLを「not only SQL」または「non-relational」の意味と説明しています。

QNoSQLはトランザクションに対応しますか?

A

Wikipediaは、多くのNoSQLは完全なACIDトランザクションを備えず、MongoDBのように備えるものもあると説明しています。

QDS検定にNoSQLは出ますか?

A

データサイエンティスト協会のスキルチェックリストに、NoSQLデータストアへAPIを介して新規データを登録できること(★1つ星)と、RDBに加えNoSQLなどから要件に応じて選べること(★★2つ星)が含まれます。

次に見る比較

執筆: AI資格ドリル編集部(運営者情報を見る)