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.