MongoDB(モンゴDB)
ドキュメント型NoSQLデータベースの代表格。JSONに似たBSON形式でデータを格納し、スキーマレスで柔軟なデータ管理と水平スケーリングを実現する。Node.jsとの親和性が高い。
MongoDBとは?
MongoDBは、ドキュメント型NoSQLデータベースの代表格です。データをJSON類似のBSON(Binary JSON)形式で格納し、固定スキーマを持たないため柔軟なデータ構造を実現します。
基本的なデータ構造
{
"_id": ObjectId("..."),
"name": "杉田健秀",
"email": "info@lapis-tech.jp",
"skills": ["JavaScript", "Node.js", "GCP"],
"address": {
"city": "東京",
"zip": "100-0001"
}
}
RDBのテーブルに相当するのが「コレクション」、レコードに相当するのが「ドキュメント」です。
主な操作(MongoDB Query Language)
// 検索
db.users.find({ "address.city": "東京" })
// 挿入
db.users.insertOne({ name: "新規ユーザー", email: "user@example.com" })
// 更新
db.users.updateOne({ name: "杉田健秀" }, { $set: { city: "大阪" } })
// 削除
db.users.deleteOne({ email: "old@example.com" })
MongoDB Atlas(マネージドサービス)
クラウド上でMongoDBをフルマネージドで利用できるサービスです。AWS・GCP・Azureのいずれでもホスティング可能。無料枠(512MBストレージ)あり。
まとめ
MongoDBはNode.jsとの組み合わせ(MERN/MEANスタック)で特に人気があります。スキーマ設計の自由度が高い反面、JOIN操作が苦手なため、関係性の強いデータにはRDBが適しています。
関連する用語 (データベース)
全23件を見るIT用語: データベース正規化とは|データの重複をなくすテーブル設計の基本
第1〜第3正規形(1NF・2NF・3NF)を使いデータの冗長性を排除するデータベース正規化の手順を解説。
MySQL(マイSQL)
オープンソースのリレーショナルデータベース管理システム。WordPressをはじめ多くのWebアプリに採用され、読み取りパフォーマンスが高く導入が容易なRDBMSの定番。
ACID特性(トランザクション4要件)
データベーストランザクションの信頼性を保証する4つの特性。原子性(Atomicity)・一貫性(Consistency)・独立性(Isolation)・永続性(Durability)の頭文字をとった概念。
Redis(リモートディクショナリサーバー)
インメモリ型のキーバリューストア。超高速な読み書きを実現し、キャッシュ・セッション管理・リアルタイム処理に広く使われるOSSデータベース。
シャーディング(データベース水平分割)
データを複数のサーバー(シャード)に水平分割して分散させるDBスケーリング手法。1台のサーバーに収まらない大規模データの処理に使われる。モンゴDBやCassandraが得意とする。
IT用語: ORM(オブジェクトリレーショナルマッパー)とは|SQLを書かずにDBを操作
プログラミング言語のオブジェクトとDBのテーブルを対応付けるORMの仕組みとN+1問題を解説。