강의

멘토링

로드맵

Programming

/

Back-end

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

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

  • Hong
실습 중심
데이터
데이터베이스
데이터모델링
취업
Java
SQL
MySQL
MongoDB
database

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

こんなことが学べます

  • 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を業務に活用したい方

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

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

こんにちは
です。

3,490

受講生

262

受講レビュー

104

回答

4.6

講座評価

17

講座

자기 소개

집에서 빈둥대다 개발에 흥미를 느껴 개발 공부를 시작하였고 현재는 판교에서 플랫폼 서버 개발을 담당하여 진행하고 있습니다.

 

제가 공부를 했던 방법과 실무에서 접하실 수 있는 여러가지 문제점들과 해결책을 여러분들에게 제공하고 싶어 지식공유자 활동을 이어나가고 있습니다.

 

강의는 오로지 저만의 지식을 통해 만들어지지 않습니다. 모든 강의는 함께하시는 분들이 계십니다.

 

지식공유자 경력

[前] 샌드박스 블록체인 개발자

[前] 넥슨 자회사 백엔드 개발자

[] 판교에서 고여가는 서버 개발자

 

인터뷰 이력

カリキュラム

全体

33件 ∙ (4時間 35分)

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

受講レビュー

全体

12件

4.2

12件の受講レビュー

  • sunrise21님의 프로필 이미지
    sunrise21

    受講レビュー 2

    平均評価 4.0

    修正済み

    3

    88% 受講後に作成

    講義紹介を見て、大きな期待をしました。 なので、がっかりしたのかもしれません。 絵を一枚開いて、言葉だけで説明するなら、オーディオ講義だけで事足りる気がします。 YouTubeの無料講座でも講義ノートに誠意が見られるのに、 有料講義なのにこのように流されていくとは、失望が大きいです。 他の講義をベンチマーキングすることをお勧めします。

    • jhong
      知識共有者

      こんにちは kkndさん、このようなフィードバックをいただきありがとうございます。 まず、私とは少し考えが異なる部分がありましたので、共有させていただきます!! まず、講義内容については、基本的にInflearnの機能を参考にすることを意図しました。すでにInflearnで私の話している内容を要約してくれているため、このような部分を参考にすると良いと考えました。 また、学習方法については、誰かがまとめたものを見るのではなく、自分でまとめながら行うものだと考えています。どんなに私が情熱を持って説明しても、相手が理解できなければ意味がないと考えています。このような観点から、私の話す内容を受講される方が理解し、自身の言葉でまとめてほしいと思いました。 しかし、私が意図した期待効果とは異なる結果になってしまったようで、残念な気持ちでいっぱいです 😭😭 他の講座ももちろんベンチマークしながら作成した講座です。しかし、手取り足取りの講座は作りたくありませんでした。当然のことながら、このような形式は受講される方々にとって大きな助けにはならないからです。 それでも、フィードバックいただいたからには、次回はより多様な満足感を提供できるよう努力し、フィードバックを受け入れたいと思います。このように時間を割いていただき、評価を残していただきありがとうございます!!良い一日をお過ごしください!

    • 返信をありがとうございます。 意図について誤解が解けたため、評価を修正しました。 ただ、それでもやはり少し納得し難い点はあります。 受講者の立場としては早い学習が目的なのに、現在のスタイルの講義だと学習が遅れてしまいますよね。 平均評価に修正しました。

    • jhong
      知識共有者

      追加でこのようにご意見いただき、ありがとうございます。kkndさんのご意見も、たしかにその通りな部分があるかと思います😭😭 今後、いただいたご意見を参考に、さらに改善して準備を進めていきます。良い一日を!

  • ddddve님의 프로필 이미지
    ddddve

    受講レビュー 7

    平均評価 5.0

    5

    30% 受講後に作成

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

    • jhong
      知識共有者

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

  • 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さん、良いレビューを残していただき、ありがとうございます!!今後もより良い講義でお会いできるよう頑張ります!!良い一日をお過ごしください!!

¥7,840

Hongの他の講座

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

似ている講座

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