언제 샤딩해야 하나 사용 가능한 메모리를 늘릴 때 사용 가능한 디스크 공간을 늘릴 때 서버의 부하를 줄일 때 한 개의 mongod가 다룰 수 있는 처리량보다 더 많이 데이터를 읽거나 쓸 때 서버 시작 구성 서버는 클러스터 구성을 저장하는 일반 mongod 서버 클러스터 구성은 샤드를 호스팅하는 복제 셋, 샤딩된 컬렉션, 각 청크가 위치한 샤드 등을 포함 구성 서버 구성 서버는 어떤 서버가 무슨 데이터를 갖고 있는지에 대한 모든 메타 데이터를 보유 mongos가 구성 서버로부터 구성을 가져오므로, 구성서버는 mongos 프로세스 앞서 시작해야함 3개의 개별 시스템에서 구성 서버 시작 --configsvr 옵션은 mongod를 구성 서버로 사용하겠다는 뜻 config 와 admin 이외의 데이터베이스에 데이..
11.1 동기화 프라이머리가 수행한 쓰기를 모두 포함하는 로그 oplog를 보관함으로써 복제를 수행 oplog는 프라이머리의 로컬 데이터베이스에 있는 제한 컬렉션 세컨더리는 이 컬렉션에 복제를 위한 연산을 쿼리 각 세컨더리는 프라이머리로부터 복제한 작업을 각각 기록하는 oplog를 보관 oplog는 다른 멤버에 대한 동기화 소스로 사용되도록 한다 세컨더리가 다운되면 재시작할 때 oplog에 있는 마지막 연산과 동기화 oplog는 크기가 고정되어 있으므로 담을 수 있는 연산의 수가 정해져 있다 일반적으로 oplog는 기본 크기면 충분 11.1.1 초기 동기화 초기 동기화를 수행해 복제 셋의 한 멤버에서 다른 멤버로 모든 데이터를 복사 모든 데이터를 대상 멤버에 있는 자체 컬렉션 복사본에 삽입 대상 멤버의 ..