MongoDB 사례 연구

NoSQL 개념

Miriam Antona

Software engineer

MongoDB - 개요

MongoDB logo

  • 인기 있는 문서 데이터베이스
  • BSON (Binary JSON) 형식
NoSQL 개념

MongoDB - 기능

  • MongoDB Query Language (MQL)
db.users.find({ "address.zipcode" : "10245" })
  • 프로그래밍 언어 네이티브 드라이버: C#, Java, Python, Scala 등
  • 모든 필드에 인덱스 적용
  • ACID 트랜잭션 (원자성, 일관성, 격리성, 지속성)
  • 쿼리 내 조인(Join) 지원
NoSQL 개념

MongoDB - 기능

  • 수평 확장
    • 네이티브 샤딩(sharding)
    • 샤드 추가/이동
  • 복제(Replication)
    • 데이터 복사본 최대 50개
NoSQL 개념

MongoDB - 제품

  • MongoDB Compass:
    • 무료 GUI
    • 스키마 탐색, 시각적 쿼리 생성 등
  • MongoDB Atlas:
    • 클라우드 서비스
    • AWS, Azure, Google Cloud
  • MongoDB Enterprise Advanced:
    • 자체 인프라에서 MongoDB 실행
NoSQL 개념

MongoDB - 제품

  • MongoDB Atlas Lake:
    • 데이터 쿼리 및 분석
    • AWS S3 및 MongoDB Atlas
    • MQL
  • MongoDB Charts:
    • 데이터 시각화
  • Realm Mobile Database:
    • iOS 또는 Android 기기에 로컬 데이터 저장
NoSQL 개념

MongoDB - 주요 활용 사례

  • 단일 뷰 애플리케이션: 금융, 공공, 첨단 기술, 소매 등
  • 게임: 플레이어 프로필, 리더보드 등
  • 카탈로그: 금융, 공공, 첨단 기술, 소매 등
  • 실시간 분석
  • 콘텐츠 관리
  • 사물인터넷(IoT)
NoSQL 개념

MongoDB - 고객사

Logos of some MongoDB customers

NoSQL 개념

Shutterfly 사례 연구 - 개요

  • 온라인 사진 서비스
    • 개인화된 사진 앨범 공유
    • 사진 인화 제품
  • 수백만 명의 고객
  • 60억 장 이상의 이미지

Shutterfly logo

NoSQL 개념

Shutterfly 사례 연구 - 문제와 해결책

  • 대규모 데이터 증가
  • Oracle의 성능 한계
  • 애플리케이션 개발에 소요되는 긴 시간
  • 애플리케이션 성능 부족
  • Oracle 비용 과다
  • MongoDB 선택
NoSQL 개념

Shutterfly 사례 연구 - 결과

  • 성능 향상
    • 삽입 속도: 400ms → 2ms
  • 수평 확장
  • 유연한 스키마 → 빠른 개발
    • 태그, 댓글 등 구현이 용이
  • 새로운 쿼리 패턴
  • 비용 절감
NoSQL 개념

Shutterfly 사례 연구 - 결과

  • 성능 향상
    • 삽입 속도: 400ms → 2ms
  • 수평 확장
  • 유연한 스키마 → 빠른 개발
    • 태그, 댓글 등 구현이 용이
  • 새로운 쿼리 패턴
  • 비용 절감
1 https://www.mongodb.com/who-uses-mongodb
NoSQL 개념

연습해 봅시다!

NoSQL 개념

Preparing Video For Download...