문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

샤드

이 페이지의 내용

  • 프라이머리 샤드
  • 샤드 상태
  • 샤드 클러스터 보안

샤드에는 샤드 클러스터에 대한 샤드 데이터의 하위 집합이 포함되어 있습니다. 클러스터의 샤드는 클러스터의 전체 데이터 세트를 함께 보유합니다.

중복성과 고가용성을 제공하기 위해 샤드는 복제본 세트로 배포되어야 합니다.

중요

샤드 클러스터는 많은 내부 작업에 "majority" 쓰기 고려를 사용합니다. PSA 복제본 세트의 성능 문제로 인해 샤드 클러스터에서 중재자를 사용하는 것은 권장되지 않습니다.

경고

일반적으로 샤드에서 직접 작업을 수행하면 데이터 손상이나 데이터 손실이 발생할 수 있으므로 직접 수행하지 마세요. 사용자, 클라이언트 또는 애플리케이션은 로컬 관리 또는 유지 관리 작업을 수행하기 위해서만 샤드에 직접 연결해야 합니다.

단일 샤드에 대해 쿼리를 수행하면 데이터의 하위 집합만 반환됩니다. 읽기 또는 쓰기 작업을 포함한 클러스터 수준 작업을 수행하려면 mongos에 연결하세요.

중요

MongoDB는 인접한 두 개의 청크가 하나의 샤드에 존재한다고 보장하지 않습니다.

샤딩된 클러스터의 각 데이터베이스에는 해당 데이터베이스에 대한 모든 비 샤드형 컬렉션을 보유하는 프라이머리 샤드가 있습니다. 각 데이터베이스에는 고유한 프라이머리 샤드가 있습니다. 프라이머리 샤드는 복제본 세트의 프라이머리 샤드와 관련이 없습니다.

mongos 은(는) 클러스터에서 데이터 양이 가장 적은 샤드를 선택하여 새 데이터베이스를 생성할 때 기본 분할된 데이터베이스를 선택합니다. mongos 은(는) totalSize 명령에서 반환된 필드를 listDatabases 선택 기준의 일부로 사용합니다.

프라이머리 샤드의 다이어그램입니다. 프라이머리 샤드에는 샤딩되지 않은 컬렉션뿐만 아니라 샤드 컬렉션의 문서 청크도 포함됩니다. 샤드 A가 프라이머리 샤드입니다.

데이터베이스의 프라이머리 샤드를 변경하려면 movePrimary 명령을 사용합니다. 기본 샤드의 마이그레이션 프로세스는 완료하는 데 상당한 시간이 걸릴 수 있으므로 완료될 때까지 데이터베이스와 관련된 컬렉션에 액세스하지 않아야 합니다. 마이그레이션되는 데이터의 양에 따라 마이그레이션은 전체 클러스터 작업에 영향을 미칠 수 있습니다. 프라이머리 샤드를 변경하기 전에 클러스터 작업 및 네트워크 로드에 미치는 영향을 고려하십시오.

이전에 복제본 세트로 사용되었던 샤드를 사용하여 새 샤드 클러스터를 배포하는 경우, 모든 기존 데이터베이스는 원래의 복제본 세트에 계속 상주합니다. 이후에 생성된 데이터베이스는 클러스터의 모든 샤드에 상주할 수 있습니다.

sh.status() 메서드를 사용하여 클러스터의 개요를 mongosh 볼 수 있습니다. 이 보고서에는 데이터베이스의 프라이머리 샤드와 샤드의 sh.status() 청크 분포가 포함됩니다. 자세한 내용은 메서드를 참조하세요.

내부/구성원 인증을 사용하여 클러스터 내 보안을 집행하고 승인되지 않은 클러스터 구성 요소가 클러스터에 액세스하지 못하도록 방지합니다. 내부 인증을 집행하려면 클러스터의 각 mongod를 적절한 보안 설정으로 시작해야 합니다.

MongoDB 5.3부터는 SCRAM-SHA-1을 클러스터 내 인증에 사용할 수 없습니다. SCRAM-SHA-256만 지원됩니다.

이전 MongoDB 버전에서는 SCRAM이 명시적으로 사용하도록 설정되어 있지 않더라도 SCRAM-SHA-1과 SCRAM-SHA-256을 모두 클러스터 내 인증에 사용할 수 있습니다.

보안 샤드 클러스터 배포에 대한 튜토리얼은 키파일 인증을 사용하여 클러스터 배포하기를 참조하세요.

각 샤드는 샤드 데이터 및 작업에 대한 무단 액세스를 제한하기 위해 역할 기반 액세스 제어(RBAC) 를 지원합니다. --auth 옵션으로 복제본 세트의 각 mongod를 시작하여 RBAC를 시행합니다. 또는 클러스터 내 보안을 위해 내부/멤버십 인증을 시행하면 RBAC를 통해 사용자 액세스 제어도 가능해집니다.

MongoDB 5.3부터는 SCRAM-SHA-1을 클러스터 내 인증에 사용할 수 없습니다. SCRAM-SHA-256만 지원됩니다.

이전 MongoDB 버전에서는 SCRAM이 명시적으로 사용하도록 설정되어 있지 않더라도 SCRAM-SHA-1과 SCRAM-SHA-256을 모두 클러스터 내 인증에 사용할 수 있습니다.

각 샤드에는 자체 샤드 로컬 사용자가 있습니다. 이러한 사용자는 다른 샤드에서 사용할 수 없으며 mongos를 통해 클러스터에 연결하는 데 사용할 수 없습니다.

RBAC가 활성화된 MongoDB 배포에 사용자를 추가하는 방법에 대한 튜토리얼은 액세스 제어 활성화를 참조하세요.

← 샤딩된 클러스터 구성 요소