【データベース】SQLを使わないデータベースの総称!「NoSQL」|情報処理問題1000本ノック
ビッグデータ処理や高並列アクセスを支える現代のデータベース技術。従来のRDB(関係データベース)とは異なるデータ構造を持つ「NoSQL」の概念を攻略しましょう。
1. 【 問題 】:データベース(データベース応用・NoSQL)
【 問題 】 データベースシステムに関する記述です。Key-Valueストア、ドキュメント指向、グラフ指向など、従来のリレーショナルデータベース(RDB)のようにSQLを用いない、あるいはSQLだけに限定されないデータベースを総称して[ ]という。[ ]に入る適切な用語を答えなさい。
(ア)NoSQL
(イ)DBMS(Database Management System)
(ウ)ACID
(エ)OLAP(Online Analytical Processing)
2. 正解:
正解:(ア)NoSQL
3. 解説:「表形式(RDB)に縛られない、自由で高速なデータベース!」
NoSQL(ノーエスキューエル)は、「Not Only SQL」の略であり、従来のRDBのような「行と列で厳密に構成された表構造」を持たないデータベース全体の総称です。
SQLによる高度な問合せやトランザクションの厳密性(ACID特性)を一部犠牲にする代わりに、「データの読み書きが超高速」「大量データやサーバーの横展開(スケールアウト)に非常に強い」という大きなメリットを持っています。
| データモデル名 | 構造の特徴 | 代表的な製品例 |
|---|---|---|
| ① Key-Valueストア(KVS) | 一意のキーと値(バリュー)のシンプルなペアで管理。超高速。 | Redis, Amazon DynamoDB |
| ② ドキュメント指向 | JSONやXML形式などのドキュメントとして柔軟なデータを保持。 | MongoDB |
| ③ ワイドカラム型 | 行ごとに異なるカラム(列)を持てるデータ構造。大規模書き込み向け。 | Apache Cassandra |
| ④ グラフ指向 | ノード(要素)とエッジ(関係性)でSNSなどの人間関係データを管理。 | Neo4j |
1. 理解のコツ: 「書類の整理方法」に例えてみましょう。
・従来のRDB:厳密に決められた項目の「エクセル一覧表」です。綺麗に揃っていて計算も正確ですが、項目を途中で増やすのが大変で、データが大きすぎるとファイルが開けなくなります。
・NoSQL:箱の中にラベル(Key)を貼って書類(Value)をどんどん放り込む「分類ボックス(キーバリューストア)」です。細かい決まりがないため、超高速で大量の書類を入れたり出したりでき、箱の増設(分散処理)も簡単です。
2. 試験対策の視点: データベース分野の最新応用動向として定番出題されるキーワードです。
問題文に「SQLを用いない」「Key-Valueストア」「スケーラビリティ・大量データ」「非リレーショナル」といった表現があれば、迷わずNoSQLを選んでください。
特に「Key-Valueストア(KVS)」はNoSQLの代名詞的な分類として出題頻度が高いため、セットで覚えておくと万全です。
4. まとめ
「Key-Valueストアなど、SQLを用いない(あるいはSQL限定でない)データベースの総称」。これがNoSQLです。RDBとの違いや代表的なモデル(KVS、ドキュメント指向など)と併せて記憶に定着させておきましょう!