강의

멘토링

로드맵

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,209

受講生

214

受講レビュー

87

回答

4.6

講座評価

16

講座

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

カリキュラム

全体

33件 ∙ (4時間 35分)

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

受講レビュー

全体

11件

4.5

11件の受講レビュー

  • sunrise21님의 프로필 이미지
    sunrise21

    受講レビュー 2

    平均評価 4.0

    修正済み

    3

    88% 受講後に作成

    I had high expectations after seeing the course introduction. Perhaps that's why I was disappointed. If you just show one image and explain only verbally, it seems like an audio lecture would be sufficient. Even free YouTube lectures show dedication in their notes, but for a paid course to just pass like this, my disappointment is great. I recommend benchmarking other courses.

    • jhong
      知識共有者

      Hello kknd님, thank you for providing this feedback. First, I'd like to share some areas where my thoughts differ slightly!! Firstly, for the lecture content, I basically intended for users to refer to Inflearn's features. I thought it would be good to refer to this part since Inflearn already summarizes what I'm saying. Also, I believe the way to study is not by watching someone else's summary, but by summarizing it yourself while studying. I think it's meaningless if the listener doesn't understand, no matter how passionately I explain. From this perspective, I wanted those taking the course to understand what I'm saying and organize it in their own words. However, it seems the outcome differs from the expected effect I intended, which leaves me feeling regretful 😭😭 Of course, this lecture was also created by benchmarking other lectures. But I didn't want to create a lecture where everything is spoon-fed. Naturally, this type of format isn't of great help to those taking the course. Nevertheless, as you've given feedback, I will strive to provide more diverse satisfaction next time and accept the feedback. Thank you for taking the time to leave a review!! Have a great day!

    • You've left a reply. The misunderstanding about the intention has been cleared up, so I've revised the rating. However, it is still a bit hard to accept. From a student's perspective, the goal is fast learning, but with the current lecture style, learning will be slower. I have changed it to the average rating.

    • jhong
      知識共有者

      Thank you for your additional feedback like this. I think there are valid points in kknd's feedback as well 😭😭. Going forward, I will try to improve and prepare based on the feedback you've given. Have a great day!

  • ddddve님의 프로필 이미지
    ddddve

    受講レビュー 7

    平均評価 5.0

    5

    30% 受講後に作成

    I am a server developer at Kakao who participated in creating this lecture together. I also mainly use MongoDB and utilize it as an attractive NoSQL. This time, the lecture content is a topic that mixes theoretical parts and practice. As such, I tried my best to help you understand MongoDB. You might think there aren't enough practical parts, but I believe that queries are something you really need to keep typing out yourself. Therefore, the recording focused mainly on which operators are available and the precautions associated with each operator. I hope this lecture, which I worked hard to create, will be of great help to those who watch it. Please show a lot of interest!! Have a good day~!

    • jhong
      知識共有者

      😆😆😆😆 Thank you very much for your help~ Let's do our best for the next lecture too!

  • boster62109528님의 프로필 이미지
    boster62109528

    受講レビュー 9

    平均評価 5.0

    5

    61% 受講後に作成

    It's a lecture that mixes theoretical parts with some practical exercises. It seems to be roughly 60:40. Basically, it's very beneficial for beginners, but the advanced course seems to be a bit difficult. For me, it still seems like difficult content.

    • jhong
      知識共有者

      Hello Busta, thank you for leaving a good review. I think the topic of DB lectures is quite difficult. Even if I teach you a lot, you can't get familiar with it unless you actually try it yourself. Therefore, I think it would be great if you could try writing various queries based on the content I taught. Thank you!

  • changbinlim9346님의 프로필 이미지
    changbinlim9346

    受講レビュー 1

    平均評価 5.0

    5

    30% 受講後に作成

    Good.

    • jhong
      知識共有者

      Hello Mr. Lim Changbin, thank you for leaving such a positive review. I will continue to work hard to provide more beneficial lectures in the future. Have a great day!!

  • ho6227574978님의 프로필 이미지
    ho6227574978

    受講レビュー 7

    平均評価 5.0

    5

    91% 受講後に作成

    I enjoyed the good lecture.

    • jhong
      知識共有者

      Hello JIos Ho! Thank you so much for leaving such a great review!! I'll make sure to come back with even better lectures in the future!! Have a wonderful day!!

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

¥39

23%

¥7,685

Hongの他の講座

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

似ている講座

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