MongoDB基礎コース Udemyリリース
講座の第2弾として、MongoDBの基礎を学習するコースをリリースすることができました。
MongoDBは、NoSQL Databaseであり、またWebアプリ開発でも利用される人気のデータベースの1つです。
コースの概要
全体で7時間を超えるボリュームとなっています。
最初にNoSQLの概要について学習していきます。
NoSQLの1つであるMongoDBは、ドキュメント型データベースで、JSON形式のデータをDBに格納することができます。そのためより複雑なデータを扱うことも可能となります。
NoSQLの基礎知識を学習した後、MongoDB ver.7.0をPCにインストールしていきます。
最初は、CRUD操作から扱っており、途中に演習も含んでいますので、セクションの内容を理解できているか確認できるようになっています。
MongoDBではデータモデルを考えるときに埋め込み形式(Embedded)か参照(Reference)のどちらがいいかを考えることができます。MongoDBはドキュメント型でJSON形式でデータを扱えるため、データの構造がネスト化されて複雑でも、1つのドキュメントとして扱うことができます。
またRDBのように、keyを設けることで、参照モデル(One-To-One, One-To-Many)としてデータを保存することができます。
後半では、Aggregation、Index、Replication、Shardingについて学習していきます。
Aggregationは、つまり集計ということですが、MongoDBではAggregation Pipelineというものが用意されていて、様々なステージを組み合わせて、複雑なクエリを組むことができます。
SQLでいうところの、WHEREやGROUP BY、JOINなどがMongoDBでもできるという捉えるとイメージしやすいかと思います。
Indexは、RDB(リレーショナルデータベース)でも、当然ありますが、MongoDBでも様々なIndexが用意されていますので、それらを紹介しています。
Replicationは、複製という意味ですが、DBを冗長化することによって、1つのDBインスタンス(primary)がダウンしても、別のDBインスタンス(secondary)によってアクセスが常に可能なようにすることで、可用性を向上させることができます。
Shardingは、データの水平方向分割ということを意図していて、膨大なデータに対応するために、あるキー(Shard key)を設定して、データを分割することができます。そうすることで各Shard(DBインスタンス)に割り当てられるデータを分散させることができます。
1つのDBインスタンス上にデータを蓄積していくことも、データ量が少ないのであれば問題ないかと思いますが、データ量が増えていけば、当然データ参照(取得、検索)パフォーマンスは劣化していく傾向にあるので、それを解消する方法がShardingになります。
ReplicationやShardingは、概念的な部分だけでも抑えておくことで、他のDB製品を扱うときにも似たようなことができないかと考えることができます。
コースに含まれる内容
- MongoDB install(Win/Mac) ※Windows推奨
- CRUD(Create, Read, Update, Delete)
- Data Model
- Schema Validation
- Data Types
- Capped Collection
- Write Concern & Journal
- Query Operators(Comparison, logical, evaluation etc)
- Aggregation Pipeline($match, $group, $sort, $project, $lookup etc)
- Index & Explain
- Covered Queries
- Compound, Multi-keys, TTL, Text Index
- Index options(unique, partialFilterExpression)
- Learn about Replication
- Learn about Sharding
- Learn about Transaction
Macへのインストールが少しややこしいので、Windowsを推奨しています。また公式ドキュメントが英語であることから、スライド説明資料は、英語表記にしています。英語が苦手な人でも、英語での表現を同時に扱えることができるように工夫しています。(音声は日本語です)
クーポン
割引価格のクーポンはこちらから取得できます。