강의

멘토링

로드맵

Programming

/

Back-end

The Easiest and Most In-Depth MongoDB Complete Guide [ By. Non-CS Major & Kakao Developer ]

This course is a master class that systematically covers the fundamental principles and practical applications of MongoDB. Starting with core MongoDB concepts, you will systematically learn essential topics for practical work, such as database design, CRUD operations, indexing, aggregation pipelines, performance optimization, transactions, and security. It explains topics step-by-step so even beginners can understand, and you can deeply learn the working principles of MongoDB through exercises and examples. This is the best introductory and practical course for developers who want to build strong MongoDB skills for practical work.

(4.2) 12 reviews

80 learners

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

Reviews from Early Learners

What you will learn!

  • Schema Design Patterns with MongoDB

  • 5 Index Design Methods in MongoDB

  • Preference Options in MongoDB

  • Schema Design Differences Between RDBMS and NoSQL

  • CRUD with MongoDB

  • Various Operators in MongoDB

  • Key features in MongoDB [Data Caching Processing or Structure]

  • Sharding, Memory Mapping, Replica Set

  • Platform Schema Design Example

정석에 가깝고 기본에 충실한 최고의 MongoDB 마스터 클래스

여러분들은 Database를 선별하는 과정에 있어서 어떤 부분을 고려하시나요??

  • 높은 트래픽을 견딜 수 있는 확장성

  • 빠르고 안정적인 데이터 처리 성능

  • 다양한 데이터 구조에 대한 유연한 지원

  • 장애 발생 시에도 데이터의 안전성과 일관성 보장


이러한 요소들은 모두 현대적인 서비스에서 반드시 고민해야 하는 필수 조건입니다.

그리고 실제로 이 조건들을 만족시키기 위해 데이터베이스 구조와 활용 방법에 대해 깊이 있게 고민하게 됩니다. 그렇다면, 이런 다양한 요구사항을 모두 충족할 수 있는 데이터베이스는 무엇일까요? 바로, MongoDB입니다.


많은 자료와 강의들이 MongoDB를 소개할 때

  • 단순한 이론 설명에 그치거나,

  • 내부 구조가 '이렇게 되어 있다'는 수준의 개념적 정보에 머무르는 경우가 많습니다.


하지만 이 강의는 다릅니다.

  • 실제 플랫폼/서비스 환경에 맞춘 다양한 스키마 설계 예시를 제공

  • 실무에서 바로 활용할 수 있는 패턴과 노하우

  • 레플리카 셋, 샤딩, 메모리 맵핑 파일 등 필수 아키텍처를 실습

  • 심화된 과정으로 Cache와 현대적인 아키텍처의 CAP 이론

  • SQL에 대비되는 MongoDB의 CRUD

이론으로만 끝나지 않고, 실제 서비스에 바로 적용 가능한 기술을 여러분의 것으로 만들어 보세요. 함께 고민하고, 성장하는 시간이 될 것입니다.

MongoDB 왜 배워야 하지...?

MongoDB는 현대적인 프로그래밍을 지원하고 다양한 요구사항에 맞춰 유연하게 적용가능한 NoSQL database입니다.

📚동적 스키마(Dynamic Schema)


데이터 구조가 변경될 때마다 테이블을 Alter하지 않아도 되며, 새로운 필드를 자유롭게 추가하거나 일부 도큐먼트에만 다른 구조를 적용할 수 있습니다. 이로인해 빠른 프로토타이핑과 잦은 요구사항 변경에 최적화되어 있습니다.

📚Document-Oriented, 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을 이해하고, 이를 기반으로 분산 처리를 위해 적용하는 방법과 실무에서의 잘못된 케이스를 해결하는 방법을 예시로 제공하며 학습하시게 됩니다.

📚다중 Trasnaction 처리 방식 이해하기

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 = "비밀로 해달라는 유니콘 스타트업 서버 개발자"

이 강의를 만든 사람

  • 비전공자로 시작하였고, 현재는 판교에서 플랫폼 백엔드 개발자로 근무하고 있는 개발자

  • 현실적인 개발 방식과 개발론을 알려드리는 것이 목표이고, 혼자가 아닌 주변 능력있는 지인들과 함께 강의를 만드는 지식 공유자

  • 열심히 활동한 덕분에 인프런에서 인터뷰 진행해 본 지식 공유자

이 강의에 참여한 사람

  • 인서울 대학에서 컴퓨터 공학을 전공한 전공자

  • 제 1금융권을 거쳐 현재는 카카오에서 백엔드 및 데이터 엔지니어로 개발하고 있는 개발자

  • Hong과 함께 다양한 강의를 만들고 현실적인 지식과 환경을 제공하는데 이바지하고 있는 개발자

수강 전 참고 사항

실습 환경

  • Macos M3를 사용하여 촬영되었습니다.

  • Mongo Compass 툴을 활용하며 강의가 구성되었습니다.

  • Mongo Atlas를 이용하여 클러스터를 활용하였습니다.

  • 모니터링 시스템 아키텍처에 대해서는 구성하지 않습니다.

🚨 필수 참고 사항 🚨

강의에서 직접 작성하는 쿼리나 스키마는 노트에 같이 정리해두었습니다.

Recommended for
these people

Who is this course right for?

  • Those who are new to MongoDB or want to learn properly from the basics

  • Developers or engineers using MongoDB in practice

  • People who want to understand the structure of MongoDB, including memory-mapped files, replica sets, sharding, etc.

  • Individuals who understand the difference between RDBMS and NoSQL, and want to apply MongoDB to their work.

  • Those interested in efficient index design and query optimization

  • All interested in data storage and distributed systems, such as Backend Developers, Data Engineers, etc.

Hello
This is

3,489

Learners

261

Reviews

104

Answers

4.6

Rating

17

Courses

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

Curriculum

All

33 lectures ∙ (4hr 35min)

Published: 
Last updated: 

Reviews

All

12 reviews

4.2

12 reviews

  • sunrise21님의 프로필 이미지
    sunrise21

    Reviews 2

    Average Rating 4.0

    Edited

    3

    88% enrolled

    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
      Instructor

      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
      Instructor

      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

    Reviews 7

    Average Rating 5.0

    5

    30% enrolled

    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
      Instructor

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

  • boster62109528님의 프로필 이미지
    boster62109528

    Reviews 9

    Average Rating 5.0

    5

    61% enrolled

    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
      Instructor

      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

    Reviews 2

    Average Rating 4.0

    5

    30% enrolled

    Good.

    • jhong
      Instructor

      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

    Reviews 9

    Average Rating 5.0

    5

    91% enrolled

    I enjoyed the good lecture.

    • jhong
      Instructor

      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!!

$50.60

Hong's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!