Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
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.3) 9 reviews

52 learners

  • jhong
실습 중심
데이터
데이터베이스
데이터모델링
취업
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

2,373

Learners

169

Reviews

73

Answers

4.5

Rating

13

Courses

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

Curriculum

All

33 lectures ∙ (4hr 35min)

Published: 
Last updated: 

Reviews

All

9 reviews

4.3

9 reviews

  • kknd님의 프로필 이미지
    kknd

    Reviews 2

    Average Rating 4.0

    Edited

    3

    88% enrolled

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

    • Hong
      Instructor

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

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

    • Hong
      Instructor

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

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

    Reviews 5

    Average Rating 5.0

    5

    30% enrolled

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

    • Hong
      Instructor

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

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

    Reviews 9

    Average Rating 5.0

    5

    61% enrolled

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

    • Hong
      Instructor

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

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

    Reviews 6

    Average Rating 5.0

    5

    91% enrolled

    좋은 강의 잘 봤습니다.

    • Hong
      Instructor

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

  • Hoos님의 프로필 이미지
    Hoos

    Reviews 9

    Average Rating 5.0

    5

    88% enrolled

    시간 날 떄 보면 MongoDB에 대해서 좀 더 딥하게 알 수 잇는 좋은 주제네요. 좋은 강의 내주셔서 감사합니다.

    • Hong
      Instructor

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

$50.60

jhong's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!