NoSQL
のーえすきゅーえる
一言で言うと
従来のSQL型データベースとは異なる、柔軟な構造でデータを管理するデータベースの総称。
もう少し詳しく
一言で言うと
従来のSQL型データベースとは異なる、柔軟な構造でデータを管理するデータベースの総称。
もう少し詳しく
NoSQLは「Not Only SQL」の略で、従来の表形式(リレーショナル)以外のデータベースのことです。ExcelのようなきっちりしたSQL型データベースに対して、NoSQLは「付箋を自由に貼れるホワイトボード」のようなものです。
SQL型では「名前、メール、年齢」とカラムが決まっていますが、NoSQLではデータごとに項目が違ってもOKです。Aさんには「趣味」の項目があるけど、Bさんにはない、ということが許されます。
代表的なNoSQLには、MongoDB(ドキュメント型)、Redis(キーバリュー型)、Firebase(リアルタイムDB)などがあります。大量のデータを高速に処理したい場合や、データの構造が頻繁に変わる場合に適しています。
実務でどう使うか
コードで見てみよう
// MongoDB(NoSQL)でのデータ保存例
// → カラム(項目)を事前に定義する必要がない// ユーザーAのデータ(趣味あり)
db.users.insertOne({
name: "田中太郎",
email: "tanaka@example.com",
hobbies: ["読書", "映画"] // この項目はAさんだけ
});
// ユーザーBのデータ(趣味なし、SNSあり)
db.users.insertOne({
name: "佐藤花子",
email: "sato@example.com",
twitter: "@sato_hanako" // この項目はBさんだけ
});
// → SQLなら事前にカラムを定義しないとエラーになる