MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Docs Menu
Docs Home
/

MongoDB 의 데이터 모델링

데이터 모델링은 데이터베이스 내의 조직과 관련 엔터티 간의 링크를 나타냅니다.

MongoDB 다형성 데이터를 저장 수 있는 유연한 데이터 모델을 가지고 있습니다.

  • 단일 컬렉션 내의문서들은 동일한 필드 설정을 가질 필요는 없습니다.

  • 필드의 데이터 유형은 컬렉션내의 문서마다 다를 수 있습니다.

MongoDB 데이터 모델링의 핵심 원칙은 함께 액세스하는 데이터를 함께 저장해야 한다는 것입니다. 성능을 최적화하려면 애플리케이션의 데이터 액세스 패턴을 기반으로 데이터 모델 구조화해야 합니다.

자세한 학습은 MongoDB 의 데이터 모델링 모범 사례를 참조하세요.

문서 모델의 유연성을 활용하는 다음 예시를 살펴보세요.

  • 회사 는 각 직원이 어떤 부서에서 근무하는지 추적합니다. employee 컬렉션 에 부서 정보를 포함하여 단일 쿼리 로 관련 정보를 반환할 수 있습니다.

  • 전자상거래 애플리케이션 제품 페이지에 가장 최근의 검토 5개를 표시합니다. 이전 리뷰를 포함한 모든 리뷰는 자주 액세스하지 않으므로 별도의 컬렉션 에 저장 수 있습니다.

  • 의류 저장 제품 카탈로그를 위한 단일 페이지 애플리케이션 만들어야 합니다. 제품마다 속성이 다르며 문서 필드와 필드 유형이 다를 수 있습니다. 이러한 차이점에도 불구하고 모든 제품을 동일한 컬렉션 에 저장 수 있습니다.

데이터 모델 논리적 구조를 갖추고 최적의 성능을 달성하도록 하려면 데이터베이스 프로덕션 확장하다 로 사용하기 전에 스키마 계획하세요. 데이터 모델 결정하고 구현 하려면 스키마 설계 프로세스 따르세요.

MongoDB의 유연한 스키마 사용하면 애플리케이션 개발하면서 데이터 모델 반복적으로 개선할 수 있습니다.

MongoDB의 유연한 스키마 로 개발하면 다음을 수행할 수 있습니다.

  • 데이터 모델 을 코드에 존재하는 객체에 직접 매핑합니다.

  • 더 엄격한 제어가 필요한 문서의 섹션과 측면에만 스키마 유효성 검사 추가합니다.

데이터 모델 을 반복적으로 수정하는 방법에 대한 예시 는 데이터 모델 수정을 참조하세요.

문서 필드의 값에는 다른 문서, 배열 및 문서 배열을 포함한 모든 BSON 데이터 유형이 포함될 수 있습니다. 이러한 객체는 다음을 포함하여 데이터 모델 에서 다양한 유형의 관계를 나타내는 데 사용할 수 있습니다.

  • 일대일 관계: 각 문서 정확히 하나의 다른 문서 와 연결됩니다. 예시 를 들어, 환자에게는 정확히 하나의 의료 기록 있습니다.

  • 일대다 관계: 각 문서는 여러 다른 문서와 연결됩니다. 예시 를 들어, 웹 애플리케이션 사용자는 여러 개의 게시나 댓글을 가질 수 있습니다.

  • 다대다 관계: 각 문서 여러 개의 다른 문서와 연결될 수 있으며, 그 반대의 경우도 마찬가지입니다. 예시 를 들어 학생은 여러 코스에 등록할 수 있으며 각 코스에는 여러 학생이 있을 수 있습니다.

MongoDB 에서는 데이터를 포함 하거나 참조 하여 관계를 모델링할 수 있습니다. 최상의 데이터 연결 방법을 선택하면 애플리케이션의 특정 액세스 패턴에 맞게 데이터 모델 최적화할 수 있습니다.

MongoDB 의 관계 모델링에 대해 자세히 학습 다음을 참조하세요.

MongoDB 와 같은 문서 데이터베이스 의 스키마 설계할 때는 관계형 데이터베이스와의 다음과 같은 중요한 차이점을 고려하세요.

관계형 데이터베이스 동작
문서 데이터베이스 동작

데이터를 삽입하기 전에 테이블의 스키마 결정해야 합니다. 관계형 데이터베이스 에서 데이터 모델 변경할 수 있지만, 고정 스키마 변경 사항이 종속 참조에 미치는 영향을 고려하는 등 사전에 더 많은 계획이 필요합니다.

시간이 지남에 따라 애플리케이션 의 요구 사항이 발전함에 따라 데이터 모델 쉽게 변경할 수 있습니다.

애플리케이션에 필요한 데이터를 반환하려면 서로 다른 여러 테이블의 데이터를 취합해야 하는 경우가 종종 있습니다.

유연한 데이터 모델을 사용하면 애플리케이션의 데이터 액세스 패턴에 따라 데이터를 저장 수 있습니다. 예시를 들어, 데이터를 포함하면 여러 컬렉션에 걸친 복잡한 조인을 피하는 동시에 성능을 향상시키고 배포의 워크로드 줄일 수 있습니다.

  • MongoDB 데이터 모델링 권장사항

  • MongoDB Compass 의 데이터 모델링

돌아가기

참조

스킬 배지 획득

' 문서 모델 과 관계'를 무료로 마스터하세요!

자세한 내용을 알아보세요.

이 페이지의 내용