非リレーショナルデータベース (NoSQL)

従来の表形式以外の形式でデータを保存する、柔軟なデータベースモデル。

SNSのログやリアルタイムのビッグデータ分析など、データの形が頻繁に変わる、あるいは膨大な量が生成される環境に最適です。

        graph LR
  Center["非リレーショナルデータベース (NoSQL)"]:::main
  Rel_encryption_at_rest["encryption-at-rest"]:::related -.-> Center
  click Rel_encryption_at_rest "/terms/encryption-at-rest"
  Rel_nosql["nosql"]:::related -.-> Center
  click Rel_nosql "/terms/nosql"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 5歳でもわかるように説明

決まった枠(表)がない自由なノートのようなものです。新しい種類の情報をいつでも追加でき、大量のデータを扱うのが得意です。

🤓 Expert Deep Dive

ドキュメント型(MongoDB)、キー・バリュー型(Redis)、ワイドカラム型(Cassandra)、グラフ型(Neo4j)の4つに大別されます。CAP定理に基づき、分散システムにおける可用性と分断耐性を重視する設計が多いです。水平スケーリング(サーバーの増設による拡張)が容易です。

❓ よくある質問

Does NoSQL mean 'No SQL'?

No, it stands for 'Not Only SQL', indicating that these systems can coexist with or use query languages similar to SQL.

When should I use NoSQL instead of SQL?

Use NoSQL when your data is unstructured, your schema changes frequently, or you need to scale horizontally across many servers.

📚 出典