NoSQLデータベース
のーえすきゅーえるでーたべーす
ひとことで言うと
SQLを主要言語としないデータベースの総称で、大量データの高速処理や柔軟なスキーマ設計に適している。
解説
リレーショナルデータベース以外のデータベースの総称で、SQLを主要な問い合わせ言語としないデータベース。キーバリュー型、ドキュメント型、カラム型、グラフ型などの種類がある。大量データの高速処理や柔軟なスキーマ設計が求められるビッグデータやWebサービスで活用されている。
くわしく解説
NoSQLデータベースは、従来のリレーショナルデータベース(RDB)の制約を超えるために開発されたデータベース技術の総称である。データモデルの種類によって、キーバリュー型(Redis・DynamoDB:シンプルな検索に高速)、ドキュメント型(MongoDB:JSONなど半構造データを格納)、カラム型(Cassandra:大量書き込みに強い)、グラフ型(Neo4j:人物関係などグラフ構造のデータ)に分類される。水平スケールアウトが容易でビッグデータやWebアプリケーションのバックエンドに適しているが、RDBのような厳格なACIDトランザクション保証が難しい場合がある。CAP定理との関係も理解が求められる。
具体例で考えよう
SNSサービスのユーザープロフィールと投稿データは、スキーマが頻繁に変化するためドキュメント型NoSQL(MongoDB)で管理し、毎秒数万件の書き込みにも対応している。
試験対策ポイント
RDBとNoSQLの違い(スキーマの柔軟性・スケールアウト・ACID特性)が重要。4種類のNoSQLデータモデルの特徴と用途を区別すること。「NoSQL≠SQLが使えない」ではなく「SQLが主要言語でない」という定義に注意。