MongoDB

MongoDB

【MongoDB】MongoDBとPostgreSQL(JSONB)、どちらを選ぶべきか比較検証

こんにちは、かつコーチです。これでMongoDB編は10本目、最終回です。「MongoDBを採用しようと思っていたけど、PostgreSQLのJSONB型でも同じことができるのでは」。PostgreSQL編の最終回(20本目)でも同じテーマ...
MongoDB

【MongoDB】レプリカセットの基本:MongoDBの可用性を確保する仕組み

こんにちは、かつコーチです。本番運用のMongoDBで避けて通れないのがレプリカセット(同じデータを複数のサーバーに複製し、1台が落ちても自動的に処理を継続する仕組み)です。単一サーバー運用のまま本番投入してしまい、サーバー障害でサービス全...
MongoDB

【MongoDB】MongoDBのスキーマ設計:埋め込み(Embedding)と参照(Referencing)の使い分け

こんにちは、かつコーチです。MongoDBのスキーマ設計で最初にぶつかる壁が、「関連するデータを1つのドキュメントに埋め込む(Embedding)か、別コレクションに分けて参照(Referencing)するか」という判断です。RDBMSの正...
MongoDB

【MongoDB】MongoDBのインデックスの基本とパフォーマンス改善の考え方

こんにちは、かつコーチです。「検索は動くけど、データが増えたら急に遅くなった」という相談を、MongoDBを使い始めた方からよく受けます。原因のほとんどはインデックス(検索を高速化するためのデータ構造。SQLのB-Treeインデックスと似た...
MongoDB

【MongoDB】集約パイプライン(Aggregation Pipeline)の基本と実践的な使い方

こんにちは、かつコーチです。MongoDBでの集計処理といえば、まず名前が挙がるのが集約パイプライン(複数の処理ステージを連結してドキュメントを段階的に加工・集計する仕組み)です。SQLのGROUP BYに慣れている方ほど、最初にこの仕組み...
MongoDB

【MongoDB】クエリ演算子(gt・in・$regex等)の使い方

こんにちは、かつコーチです。前回はCRUD操作の基本を解説し、find({ status: "active" })のような単純な一致条件での検索まで扱いました。今回は一歩進んで、SQLの>やIN、LIKEに相当するクエリ演算子の使い方を解説...
MongoDB

【MongoDB】CRUD操作の基本(insertOne・find・updateOne・deleteOne)

こんにちは、かつコーチです。前回はドキュメントとBSONの基礎を解説しました。今回はいよいよ実践編として、MongoDBのCRUD操作(Create・Read・Update・Delete、データの作成・読み取り・更新・削除)をmongosh...
MongoDB

【MongoDB】コレクションとドキュメント、BSONの基本

こんにちは、かつコーチです。前回はDockerとmongoshを使って、MongoDBに接続するところまで進めました。今回は一歩踏み込んで、MongoDBのデータ構造の核心であるコレクション・ドキュメント・BSONについて整理します。「JS...
MongoDB

【MongoDB】MongoDBのインストールとmongoshの基本操作

こんにちは、かつコーチです。前回の記事で、MongoDBが「ドキュメント指向のNoSQLデータベース」であることを解説しました。今回は実際に手を動かして、自分のパソコンにMongoDBをインストールし、コマンドラインツールmongosh(M...
MongoDB

【MongoDB】MongoDBとは?ドキュメント指向NoSQLを初心者向けに解説

こんにちは、かつコーチです。ここまでSQL基礎編・MySQL・PostgreSQLと、RDBMS(リレーショナルデータベース管理システム)を中心に学んできました。テーブルと行、外部キーによる正規化など、SQLの世界観にはもう慣れてきた頃だと...