NoSQL は、リレーショナルデータベース の「決まった表形式」にとらわれない、柔軟なデータベースの総称 です(“Not only SQL” の意)。形の定まらないデータや、超大量のアクセスに強いのが持ち味です。
代表的な種類があります。
- ドキュメント型 … JSON のような入れ子のデータをそのまま保存(MongoDB など)。
- キーバリュー型 … 「鍵→値」で高速に出し入れ(Redis など)。キャッシュ に好適。
- 列指向型 … 巨大なデータの集計に強い。
- グラフ型 … つながり(関係)そのものを扱うのが得意。
RDBと比べると、事前にきっちり形を決めなくてよく、システムの拡張(スケールアウト)もしやすい反面、JOIN や複雑な整合性の制御は苦手なことがあります。
どちらが優れているという話ではなく、用途に応じて使い分ける ものです。きっちりした業務データはRDB、形が多様なログやリアルタイム処理はNoSQL、といった具合に組み合わせて使われます。