강의

멘토링

커뮤니티

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

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

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

こんにちは
です。

4,554

受講生

327

受講レビュー

117

回答

4.7

講座評価

18

講座

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

[前] 메타버스 백엔드 개발자

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

 

인터뷰 이력

カリキュラム

全体

33件 ∙ (4時間 35分)

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

受講レビュー

全体

12件

4.2

12件の受講レビュー

  • kknd님의 프로필 이미지
    kknd

    受講レビュー 2

    平均評価 4.0

    修正済み

    3

    88% 受講後に作成

    강의 소개를 보고 큰 기대를 했습니다. 그래서 실망을 했는지도 모릅니다. 그림 하나 열어놓고 말로만 설명하면 오디오 강의만 있어도 될 것 같습니다. 유튜브 무료 강좌도 강의 노트에 정성이 보이는데 유료 강의인데 이렇게 지나간다니 실망이 큽니다. 타강의를 벤치마킹하는 것을 추천합니다.

    • Hong
      知識共有者

      안녕하세요 kknd님 이렇게 피드백 주셔서 감사합니다. 우선 저와는 조금 생각이 다른 부분이 있어서 공유드리겠습니다!! 일단 저는 강의 내용에 대해서는 기본적으로 인프런 기능을 참고하는것을 의도 하였습니다. 이미 인프런에서 제가 하는 말을 요약해 주시고 있어서 이런 부분을 참고하면 좋다고 생각을 하였습니다. 또한 공부하는 방식은 누군가 정리해주는 것을 보는게 아니라 내가 정리하며 하는 거라고 생각합니다. 아무리 제가 열정을 가지고 설명을 해도 상대방이 이해하지 못하면 의미가 없다고 생각을 합니다. 이러한 관점에서 제가 하는 말하는 내용을 수강하시는 분들이 이해하고 스스로의 언어로 정리하기를 원했습니다. 하지만 제가 의도하는 기대효과는 다른 결과가 나온거 같아서 아쉬운 마음만 드네요 ㅠㅠ 타 강의도 당연히 벤치마킹 하며 작성된 강의 입니다. 하지만 떠먹여주는 강의는 만들고 싶지 않았어요 당연하게도 이런 형태는 수강하시는 분들에게 큰 도움은 못드리고요 그래도 피드백 주신 만큼 다음에는 더 다양한 만족감을 드릴 수 있게 노력하고 피드백을 수용하도록 하겠습니다. 이렇게 시간 내주셔서 평 남겨주셔서 감사합니다!! 좋은 하루 보내세요!

    • 답글을 남겨주셨군요. 의도에 대한 오해는 풀려서 평점을 수정하였습니다. 다만 그래도 좀 납득하기 힘들긴 합니다. 수강자 입장에서는 빠른 학습이 목적인데 현재 스타일 강의면 학습이 늦어지겠죠. 평균 평점으로 수정하였습니다.

    • Hong
      知識共有者

      추가적으로 이렇게 의견 주셔서 감사합니다. kknd님의 의견도 맞는 부분이 있는거 같아요 ㅠㅠ 앞으로 의견 주신 만큼 더 보완하여 준비해보도록 할게요. 좋은 하루 보내세요!

  • 우왕 개발자다님의 프로필 이미지
    우왕 개발자다

    受講レビュー 9

    平均評価 5.0

    5

    30% 受講後に作成

    강의를 같이 만드는데 참여한 카카오에서 고여가는 서버 개발자 입니다. 저도 MongoDB를 주로 사용을 하는데요. 매력적인 NoSQL로써 활용을 하고 있습니다. 이번에는 강의 내용이 이론적인 부분과 실습이 혼합이 되어 있는 주제 입니다. 그만큼 MongoDB에 대해서 이해시켜 드리기 위해 노력했습니다. 실습적인 부분이 부족하다고 생각하실 수도 있는데, 사실 쿼리라는게 직접 계속 쳐보셔야 하는거라고 생각을 합니다. 그래서 어떤 연산자를 활용 가능한지 연산자에 따른 주의점들을 위주로 촬영이 되었습니다. 열심히 노력해서 만든만큼 보시는 분들에게 많은 도움이 되면 좋겠습니다. 많은 관심 부탁드립니다!! 좋은 하루 보내세요~!

    • Hong
      知識共有者

      ㅋㅋㅋㅋ 도움 많이 주셔서 감사합니다~ 다음 강의도 화이팅 해봐요!

  • 부스타님의 프로필 이미지
    부스타

    受講レビュー 9

    平均評価 5.0

    5

    61% 受講後に作成

    이론적인 부분과 일부 실습이 함께 섞여잇는 강의 입니다 대략 60:40 정도 되는거 같아요. 기본적으로 초심자가 듣기에 되게 유익하지만, 심화과정은 난이도가 좀 있는 편인거 같습니다. 저는 아직은 어려운 내용인거 같네요.

    • Hong
      知識共有者

      안녕하세요 부스타님 좋은 평 남겨주셔서 감사합니다. DB 강의라는 주제가 꽤나 어려운거 같아요. 제가 많이 알려드려도 실제로 해보지 않으면 익숙해 질 수 없기 떄문에 제가 알려드린 내용을 기반으로 다양하게 쿼리를 작성해보시면 좋지 않을까 싶습니다. 감사합니다!

  • 임창빈님의 프로필 이미지
    임창빈

    受講レビュー 2

    平均評価 4.0

    5

    30% 受講後に作成

    좋습니다

    • Hong
      知識共有者

      안녕하세요 임창빈님 좋은 평 남겨주셔서 감사합니다. 앞으로 더 유익한 강의 제공하도록 노력하겠습니다. 좋은 하루 보내세요!!

  • Jlos Ho님의 프로필 이미지
    Jlos Ho

    受講レビュー 9

    平均評価 5.0

    5

    91% 受講後に作成

    좋은 강의 잘 봤습니다.

    • Hong
      知識共有者

      안녕하세요 JIos Ho님 좋은 평 남겨주셔서 감사합니다!! 앞으로 더 좋은 강의로 찾아 뵙도록 할게요!! 좋은 하루 보내세요!!

期間限定セール、あと7日日で終了

¥49,500

23%

¥8,122

Hongの他の講座

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

似ている講座

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