inflearn logo
inflearn logo

最も簡単で深く教えるMongoDB完璧ガイド [ By. 非専攻者 & Kakao 開発者 ]

この講座は、MongoDBの基本原理と実践的な活用法を体系的に扱うマスタークラスです。 MongoDBの核となる概念から始め、データベース設計、CRUD操作、インデックス作成、アグリゲーションパイプライン、性能最適化、トランザクション、セキュリティなど、実務で必須となる内容を体系的に学習します。 初心者でも理解できるよう段階的に説明し、実践的な演習と例を通じてMongoDBの動作原理を深く習得できます。 実務に強いMongoDBスキルを習得したい開発者のための、最高の入門および実践講座です。

難易度 入門

受講期間 無制限

Java
Java
SQL
SQL
MySQL
MySQL
MongoDB
MongoDB
database
database
Java
Java
SQL
SQL
MySQL
MySQL
MongoDB
MongoDB
database
database

学習した受講者のレビュー

学習した受講者のレビュー

4.1

5.0

개발 잘하고 싶다...

94% 受講後に作成

MySQLしか使ったことがなかったのですが、最近MongoDBを使う必要があり受講しました。単純なクエリの書き方だけでなく、様々な概念や内部的なHAなど本当に多様なトピックで学ぶことができて、とても役に立ちました。この講義を他の方々にも見ていただけたらいいですね。ありがとうございます。

5.0

부스타

61% 受講後に作成

理論的な部分と一部実習が一緒に混ざっている講義です。大体60:40くらいな感じがします。 基本的に初心者の方が聞くにはとても有益ですが、深化課程は難易度が少しある方だと思います。私はまだ難しい内容なようです。

5.0

Choi

30% 受講後に作成

この講義の作成に携わったカカオのベテランサーバー開発者です。私も主にMongoDBを使っています。魅力的なNoSQLとして活用しています。 今回の講義内容は、理論的な部分と実践的な部分が混ざったテーマです。それだけMongoDBについてご理解いただくために努力しました。 実践的な部分が足りないと思われるかもしれませんが、実際、クエリというのはご自身でひたすら打ってみる必要があるものだと思います。そのため、どのような演算子を活用できるか、演算子ごとの注意点を中心に撮影されています。 一生懸命努力して作った分、見てくださる方々の役に立てば嬉しいです。多くのご関心、よろしくお願いいたします!! 良い一日をお過ごしください~!

受講後に得られること

  • MongoDBを用いたスキーマ設計パターン

  • MongoDBでの5つのインデックス設計方式

  • MongoDB での プリファレンスオプション

  • RDBMSとNoSQLのスキーマ設計の違い

  • MongoDBを活用したCRUD

  • MongoDBにおける様々な演算子

  • MongoDBにおける代表的な特徴 [ データキャッシュ処理 または 構造 ]

  • シャーディング、メモリマッピング、レプリカセット

  • プラットフォーム別スキーマ設計例

正統派に近く基本に忠実な最高のMongoDBマスタークラス

皆さんはDatabaseを選別する過程において、どの部分を考慮されますか??

  • 高いトラフィックに耐えられる拡張性

  • 高速で安定したデータ処理性能

  • 様々なデータ構造に対する柔軟なサポート

  • 障害発生時でもデータの安全性と一貫性を保証


これらの要素はすべて、現代的なサービスにおいて必ず検討すべき必須条件です。

そして実際にこれらの条件を満たすために、データベース構造と活用方法について深く考えることになります。それでは、このような様々な要求事項をすべて満たすことができるデータベースは何でしょうか?それは、MongoDBです。


多くの資料や講義がMongoDBを紹介する際に

  • 単純な理論説明に留まったり、

  • 内部構造が「このようになっている」という程度の概念的な情報にとどまる場合が多いです。


しかしこの講義は違います。

  • 実際のプラットフォーム/サービス環境に合わせた様々なスキーマ設計例を提供

  • 実務ですぐに活用できるパターンとノウハウ

  • レプリカセット、シャーディング、メモリマッピングファイルなど必須アーキテクチャを実習

  • 高度なコースとしてCacheとモダンアーキテクチャのCAP理論

  • SQLに対応するMongoDBのCRUD

理論だけで終わらず、実際のサービスにすぐに適用可能な技術を皆さんのものにしてみてください。一緒に悩み、成長する時間になるでしょう。

MongoDBをなぜ学ぶべきなのか...?

MongoDBは現代的なプログラミングをサポートし、様々な要求事項に合わせて柔軟に適用可能なNoSQLデータベースです。

📚動的スキーマ(Dynamic Schema)


データ構造が変更されるたびにテーブルをAlterする必要がなく、新しいフィールドを自由に追加したり、一部のドキュメントにのみ異なる構造を適用することができます。これにより、迅速なプロトタイピングと頻繁な要件変更に最適化されています。

📚ドキュメント指向、BSON基盤ストレージ


MongoDBは、データをJSONに似たBSON(Binary JSON)フォーマットの「ドキュメント」単位で保存し、各ドキュメントは独立して構造を持つことができるため、RDBMSとは異なり、カラム制約なしに非常に柔軟にデータを扱うことができます。

📚複雑なデータ構造の内蔵サポート(Embedded Documents & Arrays)


配列、ネストされたドキュメント(オブジェクト内のオブジェクト)、リストなど複合データ構造を一つのドキュメント内に直接保存できるため、ジョインなしで関連データを一度に照会できて、読み取り性能が優れています。

📚強力な水平スケーラビリティ(Built-in Sharding)


MongoDBは基本的にシャーディング(Sharding)機能を内蔵しており、データが大きくなると複数のサーバーに自動分散保存が可能です。これにより大規模なトラフィックとデータボリュームを扱うサービスにおいて水平拡張が非常に簡単です。

講義で扱う主要内容

代表的なトピックについてのみ列挙しましたが、より多様な内容を講義に盛り込んでいますので、この講義を通じて一緒にMongoDBの魅力にハマっていただければと思います!

📚MongoDBの基本概念とアーキテクチャ

NoSQL、Document-Oriented Databaseの特徴とBSONフォーマットとDocument構造を理解し、RDBMSとの違いを現実的に理解します。

📚インデックスとパフォーマンス最適化

単一/複合/テキスト/TTL/マルチキーインデックスについて理解し、これを基盤としてインデックスを設計するパターンと方式を学習することになります。

📚MongoDBのスキーマパターン

システム環境と設計に応じてスキーマを構成する方法と、状況に応じて考慮すべき様々なスキーマ設計パターンを提供します。

📚Preference Optionの理解と例外処理方法

MongoDBのPreference Optionを理解し、これを基盤として分散処理のために適用する方法と実務での間違ったケースを解決する方法を例示として提供しながら学習していただきます。

📚複数Transactionの処理方式を理解する

MongoDB 4.0以降では、MySQLと同様にマルチトランザクションをサポートしており、これによりデータの一貫性を保証することができます。しかし、MySQLとは異なる動作方式によりWrite Conflictが発生するため、これについて一緒に学習していただきます。

📚MongoDBにおける様々な演算子

実際のクエリ作成のため、またはサービスのデータ提供のために使用する様々な演算子について学習することになり、これらの演算子を使用した際に注意すべき部分と考慮すべき部分を一緒に学習することになります。

📚MongoDBの特徴と利点

MongoDBにおけるパフォーマンスのために内部的に使用している構造と高可用性のために適用している様々な方式を扱うことになります。これを通してMongoDBではどのように高可用性とパフォーマンスを保証するための設定があるのかを学習することができます。

📚同時性処理のためのLockメカニズム [上級]

MongoDBは内部的に同時多発的なトラフィックをどのように処理するのでしょうか??データの一貫性を保証するためのロックメカニズムとMVCCを例を通じて確認していただけます。

講義内容の試食

📚'実務例で見るMongoDB文書設計' 授業中

📚「インデックス構造と接頭辞ルール」授業中

📚実践クエリ作成' 授業中

大切にしている4つの価値観

1. 講義は人間的でなければならない。

専門性が劣って見えるかもしれませんが、見せやすい講義は講義ではないと思います。デバッグを進める時間もまた講義の一部です。

2. 実務に特化すべきである

開発は口で言うものではありません。実際に実装してみて、動作する過程を一緒に体験していただけます。

  • 企画者の皆さん...助けてください..

3. 受講生の皆さんの役に立つ必要がある。

私が実務で適用して効果を得た概念を盛り込もうと思いました。この過程を通じて実務を間接的に体験していただいたり、実務者であれば実務環境でより優れたパフォーマンスを発揮していただけます。

4. 講義は終わりではない。

講義を進められる際には、質疑応答をたくさん残していただければと思います。この講義は私一人だけの知識によって作られたものではありません。様々な大企業の開発者の方々のご意見も集約されています。

  • 講義完成にご協力いただいた方々の簡単な経歴は以下の通りです。


private val supported_one = "カカオペイ プラットフォーム バックエンド開発者"

private val supported_two = "トス証券 API サーバー開発者"

private val supported_three = "秘密にしてほしいというユニコーン スタートアップ サーバー開発者"

この講義を作った人

  • 非専攻者として始まり、現在は板橋でプラットフォームバックエンド開発者として勤務している開発者

  • 現実的な開発方式と開発論をお伝えすることが目標であり、一人ではなく周りの能力ある知人たちと一緒に講義を作る知識共有者

  • 熱心に活動したおかげでInflearnでインタビューを行った知識共有者

この講義に参加した人

  • ソウル圏大学でコンピュータ工学を専攻した専攻者

  • 第1金融圏を経て現在はカカオでバックエンド及びデータエンジニアとして開発している開発者

  • Hongと共に様々な講義を作成し、現実的な知識と環境を提供することに貢献している開発者

受講前の参考事項

実習環境

  • Macos M3を使用して撮影されました。

  • Mongo Compassツールを活用して講義が構成されました。

  • Mongo Atlasを利用してクラスターを活用しました。

  • モニタリングシステムアーキテクチャについては構成しません。

🚨 必須参考事項 🚨

講義で直接作成するクエリやスキーマはノートに一緒にまとめておきました。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • MongoDBに初めて接する方や、基礎からしっかり学びたい方

  • 実務でMongoDBを使用する開発者またはエンジニア

  • メモリマップドファイル、レプリカセット、シャーディングなど、MongoDBの構造について理解したい方

  • RDBMSとNoSQLの違いを理解し、MongoDBを業務に活用したい方

  • 効率的なインデックス設計とクエリ最適化に関心がある方

  • バックエンドエンジニア、データエンジニアなど、データストレージと分散システムに興味のあるすべての方

こんにちは
Hongです。

7,214

受講生

447

受講レビュー

140

回答

4.7

講座評価

24

講座

自己紹介

家でだらだら過ごしていたところ、開発に興味を持ち始めて勉強をスタートし、現在は板橋(パンギョ)でプラットフォームサーバーの開発を担当しています。私自身が勉強してきた方法や、実務で直面しうる様々な問題点とその解決策を皆さんに提供したいと考え、知識共有者としての活動を続けています。

 

講義は私一人の知識だけで作られるものではありません。すべての講義には、共に作り上げてくださる方々がいます。

 

知識共有者の経歴

[前] サンドボックスIP関連のブロックチェーン開発者

[前] メタバースバックエンド開発者

[] 板橋(パンギョ)でベテランになりつつあるサーバー開発者

 

インタビュー履歴

その他のお問い合わせ

  • unduck2022@gmail.com

もっと見る

カリキュラム

全体

33件 ∙ (4時間 35分)

講座掲載日: 
最終更新日: 

受講レビュー

全体

13件

4.1

13件の受講レビュー

  • boster62109528님의 프로필 이미지
    boster62109528

    受講レビュー 9

    平均評価 5.0

    5

    61% 受講後に作成

    理論的な部分と一部実習が一緒に混ざっている講義です。大体60:40くらいな感じがします。 基本的に初心者の方が聞くにはとても有益ですが、深化課程は難易度が少しある方だと思います。私はまだ難しい内容なようです。

    • jhong
      知識共有者

      こんにちは、ブースターさん。良い評価を残していただきありがとうございます。 DB講座というテーマはかなり難しいですよね。私が色々お教えしても、実際にやってみないと慣れることはできませんから、私が教えた内容を元に、色々なクエリを書いてみていただけると良いかと思います。 ありがとうございます!

  • changbinlim9346님의 프로필 이미지
    changbinlim9346

    受講レビュー 2

    平均評価 4.0

    5

    30% 受講後に作成

    いいですね

    • jhong
      知識共有者

      こんにちは、イム・チャンビンさん、良いレビューを残していただきありがとうございます。今後もより有益な講義を提供できるよう努力いたします。良い一日をお過ごしください!!

  • ho6227574978님의 프로필 이미지
    ho6227574978

    受講レビュー 9

    平均評価 5.0

    5

    91% 受講後に作成

    良い講義をよく見させていただきました。

    • jhong
      知識共有者

      こんにちは、JIos Hoさん、良いレビューを残していただき、ありがとうございます!!今後もより良い講義でお会いできるよう頑張ります!!良い一日をお過ごしください!!

  • cchoii님의 프로필 이미지
    cchoii

    受講レビュー 12

    平均評価 5.0

    5

    30% 受講後に作成

    この講義の作成に携わったカカオのベテランサーバー開発者です。私も主にMongoDBを使っています。魅力的なNoSQLとして活用しています。 今回の講義内容は、理論的な部分と実践的な部分が混ざったテーマです。それだけMongoDBについてご理解いただくために努力しました。 実践的な部分が足りないと思われるかもしれませんが、実際、クエリというのはご自身でひたすら打ってみる必要があるものだと思います。そのため、どのような演算子を活用できるか、演算子ごとの注意点を中心に撮影されています。 一生懸命努力して作った分、見てくださる方々の役に立てば嬉しいです。多くのご関心、よろしくお願いいたします!! 良い一日をお過ごしください~!

    • jhong
      知識共有者

      😆😆😆😆 たくさん助けていただいてありがとうございます~ 次の講義も頑張りましょう!

  • hoos983485067님의 프로필 이미지
    hoos983485067

    受講レビュー 10

    平均評価 5.0

    5

    88% 受講後に作成

    時間があるときに見ればMongoDBについてもう少し深く知ることができる良いテーマですね。良い講義を出してくださってありがとうございます。

    • jhong
      知識共有者

      こんにちはHoosさん、良いレビューを残していただきありがとうございます!!今後もより良い講義でお会いできるよう頑張ります!!良い一日をお過ごしください!!

Hongの他の講座

知識共有者の他の講座を見てみましょう!

似ている講座

同じ分野の他の講座を見てみましょう!

¥8,225