MongoDB 샤딩: 예제가 포함된 단계별 튜토리얼

샤딩이란? MongoDB?

샤딩은 개념이다. MongoDB, 대규모 데이터 세트를 여러 개의 작은 데이터 세트로 분할합니다. MongoDB 인스턴스.

때로는 내부 데이터 MongoDB 너무 커서 이러한 빅 데이터 세트에 대한 쿼리로 인해 서버에서 많은 CPU 사용률이 발생할 수 있습니다. 이러한 상황을 해결하기 위해, MongoDB 기본적으로 여러 데이터 세트를 분할하는 샤딩(Sharding)이라는 개념이 있습니다. MongoDB 인스턴스.

크기가 클 수 있는 컬렉션은 실제로 호출될 때 여러 컬렉션 또는 샤드에 걸쳐 분할됩니다. 논리적으로 모든 샤드는 하나의 컬렉션으로 작동합니다.

샤딩을 구현하는 방법

샤드는 클러스터를 사용하여 구현되며 클러스터는 단순히 여러 개의 그룹으로 구성됩니다. MongoDB 인스턴스.

샤드의 구성요소는 다음과 같습니다.

  1. 파편 – 이게 기본이고, 이건 별거 아니다. MongoDB 데이터의 하위 집합을 보유하는 인스턴스입니다. 프로덕션 환경에서는 모든 샤드가 복제본 세트의 일부여야 합니다.
  2. 구성 서버 – 이는 클러스터에 대한 메타데이터를 보관하는 MongoDB 인스턴스입니다. 기본적으로 샤드 데이터를 보관하는 다양한 MongoDB 인스턴스에 대한 정보입니다.
  3. 라우터 – 이것은 기본적으로 클라이언트가 보낸 명령을 올바른 서버로 다시 리디렉션하는 역할을 하는 mongodb 인스턴스입니다.

단계별 샤딩 Cluster 예시

단계 1) 구성 서버에 대해 별도의 데이터베이스를 만듭니다.

mkdir /data/configdb

단계 2) 구성 모드에서 mongodb 인스턴스를 시작합니다. Server D라는 이름의 서버가 있고 이것이 우리의 구성 서버라고 가정하면, 아래 명령을 실행하여 서버를 구성 서버로 구성해야 합니다.

mongod –configdb ServerD: 27019

단계 3) 구성 서버를 지정하여 mongos 인스턴스를 시작합니다.

mongos –configdb ServerD: 27019

단계 4) mongo 쉘에서 mongo 인스턴스에 연결합니다.

mongo –host ServerD –port 27017

단계 5) 클러스터에 추가해야 할 서버 A와 서버 B가 있는 경우 아래 명령을 실행하세요.

sh.addShard("ServerA:27017")
sh.addShard("ServerB:27017")

단계 6) 데이터베이스에 대한 샤딩을 활성화합니다. 따라서 Employeedb 데이터베이스를 샤딩해야 하는 경우 아래 명령을 실행하십시오.

sh.enableSharding(Employeedb)

단계 7) 컬렉션에 대한 샤딩을 활성화합니다. 따라서 Employee 컬렉션을 샤딩해야 하는 경우 아래 명령을 실행하세요.

Sh.shardCollection("db.Employee" , { "Employeeid" : 1 , "EmployeeName" : 1})

슬립폼 공법 선택시 고려사항

  • 설명한 바와 같이 지도 시간, 샤딩은 다음과 같은 개념입니다. MongoDB, 대규모 데이터 세트를 여러 개의 작은 데이터 세트로 분할합니다. MongoDB 인스턴스.

이 게시물을 요약하면 다음과 같습니다.