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件を見るACID特性(トランザクション4要件)
データベーストランザクションの信頼性を保証する4つの特性。原子性(Atomicity)・一貫性(Consistency)・独立性(Isolation)・永続性(Durability)の頭文字をとった概念。
ORM(オブジェクト関係マッピング)
プログラミング言語のオブジェクトとデータベースのテーブルを対応付け、SQLを書かずにDBを操作できるようにするライブラリ。Prisma・TypeORM・Sequelize等が代表的。
データベースマイグレーション
データベースのスキーマ(テーブル構造)変更をバージョン管理し、順序立てて適用する仕組み。Prisma Migrate・Flyway・Liquibaseが代表的なツール。
シャーディング(データベース水平分割)
データを複数のサーバー(シャード)に水平分割して分散させるDBスケーリング手法。1台のサーバーに収まらない大規模データの処理に使われる。モンゴDBやCassandraが得意とする。
IT用語: MySQLとは|世界最多採用のオープンソースリレーショナルデータベース
WordPress・ECサイト・SNSに広く使われるMySQL(MariaDB)の特徴・ストレージエンジン・チューニングを解説。
IT用語: データベース正規化とは|データの重複をなくすテーブル設計の基本
第1〜第3正規形(1NF・2NF・3NF)を使いデータの冗長性を排除するデータベース正規化の手順を解説。