MongoDB 샤딩: 예제가 포함된 단계별 튜토리얼
샤딩이란? MongoDB?
샤딩은 개념이다. MongoDB, 대규모 데이터 세트를 여러 개의 작은 데이터 세트로 분할합니다. MongoDB 인스턴스.
때로는 내부 데이터 MongoDB 너무 커서 이러한 빅 데이터 세트에 대한 쿼리로 인해 서버에서 많은 CPU 사용률이 발생할 수 있습니다. 이러한 상황을 해결하기 위해, MongoDB 기본적으로 여러 데이터 세트를 분할하는 샤딩(Sharding)이라는 개념이 있습니다. MongoDB 인스턴스.
크기가 클 수 있는 컬렉션은 실제로 호출될 때 여러 컬렉션 또는 샤드에 걸쳐 분할됩니다. 논리적으로 모든 샤드는 하나의 컬렉션으로 작동합니다.
샤딩을 구현하는 방법
샤드는 클러스터를 사용하여 구현되며 클러스터는 단순히 여러 개의 그룹으로 구성됩니다. MongoDB 인스턴스.
샤드의 구성요소는 다음과 같습니다.
- 파편 – 이게 기본이고, 이건 별거 아니다. MongoDB 데이터의 하위 집합을 보유하는 인스턴스입니다. 프로덕션 환경에서는 모든 샤드가 복제본 세트의 일부여야 합니다.
- 구성 서버 – 이는 클러스터에 대한 메타데이터를 보관하는 MongoDB 인스턴스입니다. 기본적으로 샤드 데이터를 보관하는 다양한 MongoDB 인스턴스에 대한 정보입니다.
- 라우터 – 이것은 기본적으로 클라이언트가 보낸 명령을 올바른 서버로 다시 리디렉션하는 역할을 하는 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 인스턴스.
