Docs Menu
Docs Home
/

MongoDB 의 데이터 모델링

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

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

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

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

MongoDB 데이터 모델링의 핵심 원칙은 함께 액세스하는 데이터를 함께 저장해야 한다는 것입니다. 이를 위해 객체 및 배열 필드 내에 관련 데이터를 포함할 수 있습니다. 임베딩은 애플리케이션 에 더 나은 읽기 성능을 제공하고 데이터 일관성 보장할 수 있습니다. 그러나 성능을 최적화하려면 애플리케이션의 데이터 액세스 패턴을 기반으로 데이터 모델 구조화해야 합니다.

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

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

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

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

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

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

  1. 애플리케이션의 워크로드를 파악합니다.

  2. 컬렉션에 있는 객체 간의 관계를 매핑합니다.

  3. 디자인 패턴을 적용합니다.

MongoDB의 유연한 스키마 사용하면 기본 데이터베이스 를 크게 변경하지 않고도 데이터 모델 조정할 수 있습니다. 이렇게 하면 애플리케이션 개발하면서 데이터 모델 반복적으로 개선할 수 있습니다.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • MongoDB Compass 의 데이터 모델링

돌아가기

참조

스킬 배지 획득

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

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

이 페이지의 내용