[MongoDB] MongoDB 인덱스, 튜닝, 백업/복구, 설계와 모델링

1 minute read

3. MongoDB 인덱스와 관리

MongoDB에도 RDBMS와 같이 빠른 데이터 검색을 수행하기 위해 인덱스 기능을 제공함

인덱스 기능에 대해서는 추가적인 학습량이 많아 본 절에서는 생략함

4. MongoDB 튜닝과 백업/복구

4.1 튜닝의 종류

  • 디자인 튜닝(Design Tuning)

    컬렉션이 제대로 성능을 발휘하도록 컬렉션 설계에 대한 문제점을 분석하고 대처하는 방법

  • 문장 튜닝(Statement Tuning)

    사용자가 쿼리문을 사용할 때 성능 저하의 원인을 분석하고 대처하는 방법

  • 아키텍처 튜닝(Architecture Tuning)

    아키텍처(Sharding, Replica Set 등)의 문제점을 분석하고 조치하는 방법

  • 인스턴스 튜닝(Instance Tuning)

    Memorry Mapping이 제대로 이루어지는지에 대해 문제점을 분석하고 조치하는 방법

  • 하드웨어 튜닝(Hardware Tuning)

    운영체계에서 발생하는 문제로 인해 시스템 성능 저하되는 경우 하드웨어를 업그레이드하는 방법

4.2 백업과 복구

백업과 복구의 단위

1. 백업(MongoDump)

DB 전체 백업, DB별 백업, 컬렉션 단위 백업

2. 복구(MongoRestore)

DB 전체 복구, DB별 복구, 컬렉션 단위 복구

5. MongoDB 설계와 모델링

5.1 MongoDB 데이터 모델링

MongoDB 데이터 모델링의 핵심

  • 클라우드 컴퓨팅 환경의 NoSQL은 ‘데이터’와 ‘프로세스’를 모두 설계 중심으로 둠(빅데이터 수집 및 저장이 중심)
  • 중복을 허용하며, 역정규화된 설계를 지향함
  • 중첩 데이터 구조를 설계할 수 있기 때문에 불필요한 JOIN을 최소화시킬 수 있음
  • N:M 구조 설계 및 구축이 가능함
  • Schema가 없기 때문에 유연한 데이터 구조 설계를 할 수 있음
  • 비정형 데이터 저장 및 관리 가능(RDB보다 빠른 읽기, 쓰기)

설계 기준

  1. 데이터 발생량과 Accss Pattern은 분석되었는 가?
  2. 컬렉션과 인덱스에 대한 충분한 설계가 고려되었는 가?
  3. 적절한 시스템 환경이 준비되었는 가?

Categories:

Updated:

Leave a comment