NoSQLとは?RDBとの違いと使われる場面を解説

NoSQLで多様なデータモデルを扱う仕組みを示す学習図解

結論:NoSQLは、表形式に限定されないデータを扱うためのデータベースの総称です。RDBの代わりに常に選ぶものではなく、データの形や求める処理に合わせて使い分けます。ITパスポートでは、NoSQLをRDBと対立する製品名ではなく、複数のデータモデルを含む考え方として押さえます。

目次

NoSQLとは何か

NoSQLは、一般にリレーショナルデータベース以外の方式を広く指す言葉です。RDBは、行と列からなる表でデータを管理し、表どうしを関連付けて扱います。これに対しNoSQLには、キーと値を組にするキーバリューストア、文書単位で保存するドキュメント指向、データ同士のつながりを扱うグラフ指向などがあります。

IPAのITパスポート試験シラバスVer.6.5では、データベース管理システムに関する用語例として、RDBMSとともにNoSQL、キーバリューストア、ドキュメント指向データベース、グラフ指向データベースが挙げられています。つまり、NoSQLは一つの保存形式ではなく、用途に応じた複数の方式を含む呼び名です。

仕組み:データの形に合わせて保存する

キーバリューストアは、検索用のキーに対して値を対応させる方式です。設定情報や一時的な状態を素早く取り出したい場面で考え方を理解しやすい方式です。ドキュメント指向データベースは、項目の組合せが異なるデータを文書のような単位で保存できます。商品ごとに持つ属性が大きく異なる場合など、項目を一律の列に収めにくいデータに向きます。

グラフ指向データベースは、人、商品、場所などを結び付け、その関係を扱います。誰が誰とつながっているか、どの経路で関連するかを調べる必要がある場合に、関係そのものをデータとして表せます。どの方式も、データの形と利用目的を先に考える点が重要です。

RDBとの違いと使い分け

観点 RDB NoSQL
主なデータの持ち方 行と列の表を関連付ける キーと値、文書、関係など方式ごとに異なる
得意な場面 定型的な業務データを整合的に扱う データ構造やアクセス方法が多様な場面に合わせる
考える順番 表の項目や関連を設計する 必要な検索・保存方法に合うモデルを選ぶ

例えば、受注、請求、在庫のように項目と処理手順が定まり、正確な更新が重要なデータはRDBで考えると整理しやすいでしょう。一方、利用者ごとに項目が異なる投稿データや、つながりをたどるデータでは、NoSQLのデータモデルが候補になります。ただし、NoSQLは整合性が不要という意味ではありません。必要な整合性、検索方法、処理量を踏まえて選ぶ必要があります。

仕事と日常生活で見るNoSQL

仕事では、サービスの利用記録、機器から届く多様なデータ、関係性を含む情報を扱うときに、保存したい内容と検索したい内容を分けて考えます。項目が増減するデータを扱うなら文書単位、関係を追うならグラフの考え方が候補になります。まず業務で何を検索し、どのデータを更新するかを整理することが、方式選定の出発点です。

日常生活では、動画や通販サイトで表示される情報も、内容の種類や利用者との関係に応じて大量に管理されています。利用者が見る画面の裏側でどの方式が使われるかを断定する必要はありませんが、表だけでは扱いにくい多様な情報や関係を保存する考え方がNoSQLだと理解すると、サービスの仕組みを捉えやすくなります。

ITパスポートで押さえる要点

  • NoSQLは、RDB以外のデータベース方式を広く指す。
  • キーバリューストア、ドキュメント指向、グラフ指向はNoSQLの代表的な考え方である。
  • RDBかNoSQLかは、流行ではなくデータの構造と利用目的で使い分ける。
  • RDBは表形式で関連付けて管理する考え方であり、主キーや正規化と関連して理解する。

RDBの表の考え方を確認したい場合は、主キーとは?データを一意に識別する役割を先に読むと、データを行単位で区別する意味が分かります。

さらに、RDBで重複や矛盾を減らす設計を押さえるには、正規化とは?データベース設計の基本が役立ちます。NoSQLとの違いを、設計の目的から比較できます。

保存するデータを分析用に集約する役割まで整理するなら、データウェアハウスとは?分析用にデータを集める仕組みも読んでください。アプリケーションで扱うデータと、分析に使うデータの役割を分けて理解できます。

確認問題

問題: NoSQLの説明として、最も適切なものはどれでしょうか。

  1. 必ず行と列の表だけでデータを管理する方式
  2. RDB以外の多様なデータモデルを含むデータベースの総称
  3. 分析用データだけを保存する仕組み
  4. データの整合性を確認しないための仕組み

答え:2です。NoSQLにはキーバリューストア、ドキュメント指向、グラフ指向などがあります。表形式だけで管理する方式でも、分析専用の仕組みでもありません。データの構造と利用目的に合わせ、RDBとの違いを判断することが重要です。

目次