Post

MongoDB.local Seoul 2025

MongoDB.local Seoul 2025

데이터 모델링 개요


거래 트랜잭션 정보들을 저장하기 위한 최적의 모델링이 무엇인지에 대해 살펴보자.

  • 모델링을 하는 이유는?
    • 제약조건 대응
      • 물리적 제약
      • 하드웨어 제약
      • 소프트웨어 제약
    • 이해관계자 소통
      • 유비쿼터스 언어
    • 문서화
      • 요구사항 분석
      • 다이어그램

워크로드는 각 Objects를 Collections으로 그룹화하는 최적의 방법을 결정한다.

  • 워크로드 : 애플리케이션이 데이터에 말을 거는 방식.

프로젝트(워크로드)에 대한 분석 및 분류

  • 쓰기가 많은지
  • 읽기가 많은지
  • 빠르게 읽어야 하는지
  • 저장 데이터가 많은지
  • 심플함이 중요한지

데이터 모델링 방법론


어떤 데이터를 많이 읽거나 쓸 것인가를 분석한다.

데이터 모델링 과정

  • 요구사항 분석 : 엔티티 추출, 핵심 명사들 추출
  • 워크로드 분석 : 데이터 오퍼레이션을 목록화 (필요 성능 계산)
    • 모델의 설계 기준선을 만드는 작업
  • 관계 설정
    • 애플리케이션에서 함께 조회되는 것은 데이터베이스에서도 함께 저장되야 한다.
  • 패턴
    • 디자인 패턴은 필요할 때만, 스키마는 단순하게 하는 것이 좋다.

MongoDB 성능 개선


  • MongoDB Atlas Ignite Package (컨설팅)
  • Index Tuning
    • Performance Advisor
    • Query Profiler (매일 모니터링 필요)
  • Cluster Version Update
  • Covered Query : 인덱스에 모든 데이터를 넣는 방식
  • Archiving : 오래된 데이터를 S3로 옮김
  • Analytics Node : 분석용 노드
    • 분석할 때나 스케쥴링 작업 등
  • In-Memory Caching : 상수 조회 쿼리를 인메모리로 관리
  • AI Code Review for Index
This post is licensed under CC BY 4.0 by the author.