NoSQL(非リレーショナルデータベース)
固定スキーマを持たない非リレーショナル型データベースの総称。ドキュメント型・キーバリュー型・カラム型・グラフ型などがあり、水平スケーリングと柔軟なデータ構造が特徴。
NoSQLとは?
NoSQL(Not Only SQL)は、リレーショナルデータベース(RDB)の固定スキーマやSQL以外のアプローチでデータを管理するデータベースの総称です。Webスケールのデータ処理ニーズを背景に2000年代後半から急速に普及しました。
NoSQLの主な種類
| 種類 | 特徴 | 代表的なDB |
|---|---|---|
| ドキュメント型 | JSONライクなドキュメントを格納 | MongoDB, Firestore, CouchDB |
| キーバリュー型 | キーで値を高速に取得 | Redis, DynamoDB, Memcached |
| カラム型 | 列単位でデータを格納・高速集計 | Cassandra, HBase, BigQuery |
| グラフ型 | ノードとエッジで関係を表現 | Neo4j, Amazon Neptune |
RDBとの比較
| 項目 | RDB | NoSQL |
|---|---|---|
| スキーマ | 固定(変更にはマイグレーション必要) | 柔軟(スキーマレス) |
| スケーリング | 垂直スケール(サーバーを強化) | 水平スケール(サーバーを追加) |
| トランザクション | ACID保証が強い | BASE(結果整合性)が多い |
| 結合(JOIN) | 容易 | 苦手(アプリ側で処理) |
| 適したデータ | 構造化データ | 非構造化・半構造化データ |
まとめ
NoSQLは「RDBの代替」ではなく「用途の違う選択肢」です。複雑なトランザクションにはRDB、大量データの高速読み書きやスキーマが頻繁に変わるデータにはNoSQLが向いています。
関連する用語 (データベース)
全23件を見るIT用語: データベースインデックスとは|検索を高速化するB-Tree構造の仕組み
フルテーブルスキャンを避けてクエリを高速化するDBインデックスの仕組み・種類・設計の注意点を解説。
MySQL(マイSQL)
オープンソースのリレーショナルデータベース管理システム。WordPressをはじめ多くのWebアプリに採用され、読み取りパフォーマンスが高く導入が容易なRDBMSの定番。
レプリケーション(データベース複製)
データベースのデータを複数のサーバーに自動的にコピーする仕組み。読み取り負荷の分散・障害時のフェイルオーバー・バックアップ目的で使われる。プライマリ/レプリカ構成が一般的。
シャーディング(データベース水平分割)
データを複数のサーバー(シャード)に水平分割して分散させるDBスケーリング手法。1台のサーバーに収まらない大規模データの処理に使われる。モンゴDBやCassandraが得意とする。
Redis(リモートディクショナリサーバー)
インメモリ型のキーバリューストア。超高速な読み書きを実現し、キャッシュ・セッション管理・リアルタイム処理に広く使われるOSSデータベース。
IT用語: データベース正規化とは|データの重複をなくすテーブル設計の基本
第1〜第3正規形(1NF・2NF・3NF)を使いデータの冗長性を排除するデータベース正規化の手順を解説。