Inflearn brand logo image
Inflearn brand logo image
NEW
개발 · 프로그래밍

/

백엔드

취업과 이직을 위한 MongoDB ( Feat. 카카오, 비전공자 )

이 강의는 MongoDB의 기본 원리와 실전 활용법을 정석적으로 다루는 마스터 클래스입니다. MongoDB의 핵심 개념부터 시작해 데이터베이스 설계, CRUD 연산, 인덱싱, 집계 파이프라인, 성능 최적화, 트랜잭션, 보안 등 실무에서 반드시 알아야 할 내용을 체계적으로 학습합니다. 초보자도 이해할 수 있도록 단계별로 설명하며, 실습과 예제를 통해 MongoDB의 동작 원리를 깊이 있게 익힐 수 있습니다. 실무에 강한 MongoDB 역량을 쌓고 싶은 개발자를 위한 최고의 입문 및 실전 강의입니다.

(4.5) 수강평 4개

수강생 33명

이런 걸 배울 수 있어요

  • MongoDB를 통한 스키마 설계 패턴

  • MongoDB에서의 5가지 인덱스 설계 방식

  • MongoDB에서의 Preference Option

  • RDBMS와 NoSQL의 스키마 설계 차이

  • MongoDB를 활용한 CRUD

  • MongoDB에서의 다양한 연산자

  • MongoDB에서의 대표적인 특징 [ 데이터 캐싱 처리 or 구조 ]

  • 샤딩, 메모리 맵핑, 레플리카 셋

  • 플랫폼에 따른 Schema 설계 예제

정석에 가깝고 기본에 충실한 최고의 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 = "비밀로 해달라는 유니콘 스타트업 서버 개발자"

수강 전 참고 사항

실습 환경

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

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

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

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

🚨 필수 참고 사항 🚨

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

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • MongoDB를 처음 접하거나 기초부터 제대로 배우고 싶은 분

  • 실무에서 MongoDB를 사용하는 개발자 또는 엔지니어

  • 메모리 맵핑 파일, 레플리카 셋, 샤딩 등 MongoDB의 구조에 대해 이해하고 싶은 분

  • RDBMS와 NoSQL의 차이를 이해하고, MongoDB를 업무에 적용하고 싶은 분

  • 효율적인 인덱스 설계와 쿼리 최적화에 관심 있는 분

  • 백엔드 개발자, 데이터 엔지니어 등 데이터 저장소와 분산 시스템에 관심 있는 모든 분

안녕하세요
입니다.

1,320

수강생

90

수강평

55

답변

4.3

강의 평점

10

강의

자기 소개

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

 

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

 

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

  • 카카오에서 서버 개발하고 계시는 초이

  • 토스에서 개발하고 계시는 서버 개발자

  • 유니콘 스타트업에서 개발도 하고, DB도 관리하시는 능력자

 

지식공유자 경력

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

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

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

 

인터뷰 이력

커리큘럼

전체

33개 ∙ (4시간 35분)

강의 게시일: 
마지막 업데이트일: 

수강평

전체

4개

4.5

4개의 수강평

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

    수강평 4

    평균 평점 5.0

    5

    30% 수강 후 작성

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

    • Hong
      지식공유자

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

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

    수강평 6

    평균 평점 5.0

    5

    61% 수강 후 작성

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

    • Hong
      지식공유자

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

  • kknd님의 프로필 이미지
    kknd

    수강평 2

    평균 평점 4.0

    수정됨

    3

    88% 수강 후 작성

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

    • Hong
      지식공유자

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

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

    • Hong
      지식공유자

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

  • ks ju님의 프로필 이미지
    ks ju

    수강평 4

    평균 평점 5.0

    5

    61% 수강 후 작성

    설명하듯이 강의를 하시고, 종종 샘플 예제와 실제 쿼리를 작성하는 강의로 구성이 되어 있습니다. 처음에는 어 뭐지 되게 신박하네라고 생각을 하였는데, 개인적으로 정리해가며 공부해가니 진짜 강의하시는 분이 능력있는 개발자라는게 느껴집니다. 틈틈히 개인적인 꿀팁도 주시는 모습도 있고 생소한 개념도 되게 쉽게 풀어서 설명해주신다는 느낌을 받았습니다. 근데 개인적으로는 뭔가 불친절한 강의라는 느낌은 들었습니다. 아무래도 이 강의는 떠먹여준다?? 라는 느낌보다는 들으면서 스스로 정리하는 시간이 필요한 강의인거 같습니다. 그래도 결과적으로는 진짜 너무 좋은 강의라고 생각합니다. 감사합니다.

    • Hong
      지식공유자

      안녕하세요 ks ju님 이렇게 평 남겨주셔서 감사합니다. 아무래도 스스로 공부하시는 습관을 길러드리고 싶어서 이런 방식으로 준비해 보았습니다. 앞으로 조금 불편함을 감수해서라도 더 좋은 내용을 제공하기 위해 노력하겠습니다. 좋은 하루 보내세요!

Hong님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!