여러 개의 샤드가 당장 필요한지 여부와 관계없이 새 애플리케이션 구축할 때는 단일 샤딩된 클러스터 로 시작하는 것이 좋습니다.
다음 시나리오는 샤딩된 클러스터 아키텍처의 이점을 누릴 수 있습니다.
사용 사례 | 설명 |
---|---|
비용 최적화 | 수직 확장 hardware 요구 사항이 증가함에 따라 비용이 점점 더 많이 들고 효율성이 떨어집니다. 수평적 확장 리소스 수요가 증가함에 따라 더 예측 가능하고 비용 효율적인 확장 제공합니다. |
높은 동시 컬렉션 액세스 | 여러 개의 활성 컬렉션이 있는 애플리케이션으로 리소스 경합으로 인해 성능 병목 현상이 발생합니다. 샤딩은 컬렉션을 전용 hardware 에 분산하여 리소스 경합을 방지합니다. |
처리량이 많은 워크로드 | 읽기/ 쓰기 (write) 볼륨이 높은 애플리케이션은 여러 머신에 트래픽을 분산하여 성능을 개선하고 병목 현상을 줄일 수 있는 이점이 있습니다. |
대규모 데이터 세트 | 데이터 볼륨이 빠르게 증가하거나 작업 세트가 단일 서버 메모리 용량 초과하는 경우 수평 확장 데이터를 여러 노드에 분산하여 지속 가능한 성능을 보장합니다. |
멀티 테넌트 환경 | 여러 고객에게 서비스를 제공하는 애플리케이션은 테넌트당 전용 샤드를 보유하여 성능 격리 및 사용자 지정 리소스 할당을 제공하는 이점이 있습니다. MongoDB의 샤딩 기능은 효율적인 멀티 테넌트 아키텍처를 활성화 . |
글로벌 배포 | 사용자가 여러 리전에 분산되어 있는 경우 지리적으로 배치된 샤드에 데이터를 분산하면 지연 시간 줄어들고 사용자 환경이 향상됩니다. |
세부 정보
샤딩된 클러스터 로 시작하는 것은 다음과 같은 사전 예방적 접근 방식입니다.
간편한 수평 확장 - 복제본 세트 에서 마이그레이션하는 복잡한 과정 없이 애플리케이션 성장함에 따라 샤드를 쉽게 추가할 수 있습니다.
비용 효율적인 인프라 - MongoDB 8.0 은 config 샤드를 도입하여 전용 config 서버 없이 단일 복제본 세트 인프라에 샤딩된 클러스터 설정하다 수 있습니다. MongoDB Atlas 에서 버전 8.0 에서 최대 3 개의 샤드가 있는 샤딩된 클러스터는 기본값 으로 구성 샤드를 사용합니다.
데이터베이스 상당한 규모의 머신의 리소스 사용률(RAM, vCPU 또는 저장)의 60~70%에 도달하면 샤드를 추가하는 것이 좋습니다. 예시 들어, Atlas 에서 4 TB 디스크가 있는 M60 머신의 일관적인 60~70% 리소스 사용률은 샤드 추가해야 함을 나타냅니다.