보관함

MongoDB 운영 메모 – 샤드 클러스터 종료와 시작 순서, 레플리카셋, 샤딩

mongos, config server(레플리카셋), 샤드 여러 개(각각 primary, secondary, arbiter)로 된 클러스터를 운영하며 정리한 내용이다. 호스트 이름과 <password>, appdb 는 예시다.

1. IP 대신 호스트 이름 쓰기

레플리카셋 설정에 IP 를 넣어 두면 서버 IP 가 바뀔 때 멤버를 찾지 못해 클러스터가 멈춘다. 각 서버의 /etc/hosts 에 같은 이름을 등록하고 이름으로 구성한다.

이 경우 MongoDB […]

MongoDB 집계(aggregation) 정리 – count, distinct, $group, 파이프라인

예전 MongoDB 자료에 나오는 group(), db.eval(), mapReduce 는 지금 버전에서 없어졌거나 쓰지 않는다. 지금 쓰는 방식 기준으로 정리했다.

1. 개수 세기

예전의 db.collection.count() 와 cursor.count() 는 deprecated 다.

2. 중복 없는 값 (distinct)

3. 집계 파이프라인

문서가 단계(stage)를 차례로 통과하며 걸러지고 바뀌는 구조다. 유닉스 파이프와 같은 생각이다. 예전 group() 명령(4.2 에서 제거)은 $group […]