[Qdrant] 샤드 - 레플리카
이전 포스트
https://blog.naver.com/sssang97/223985975077
샤드가 큰 데이터를 분할해서 쉽게 다루기 위한 것이라면, 레플리카는 데이터를 복제해서 가용성을 높이기 위한 수단이다.
노드가 2개 이상인 클러스터에서는 replica를 반드시 두는 것을 권장한다. 그래야 특정 노드가 터져도 다른 복제본으로 돌아가게 만들 수 있기 때문이다.
여기서는 일반 파티션 샤드를 제외하고, Replica Shard를 다루는 방법만을 정리한다.
Qdrant DB는 3노드 클러스터로 구성되어있다고 가정하겠다.

Replica 구성하기
분산 DB인 상태라도, replica가 자동으로 활성화되진 않는다. 기본값은 1이라서 복제가 되진 않는다.
컬렉션 생성시에 replication_factor 옵션을 조정해서 활성화할 수 있다.
이걸 2로 해야 그때부터 샤드별로 2개씩의 복제본을 유지하게 할 수 있다.
샤드가 3개고 replica factor가 2개면, 3 x 2로 총 6개의 데이터 파티션이 관리되게 된다.
생성하고 보면, 실제로 6개의 샤드가 생성된 것을 볼 수 있을 것이다.
그래서 그만큼 사용량이 증가할 것을 감안해야 한다.
참고로, 컬렉션 생성시에 replica 옵션을 주는 것은 문제가 없지만, 컬렉션을 생성한 이후에 replication factor를 조정하는 것은 샤드를 자동으로 생성해주지 않는다.
아래 문서처럼 replica shard를 수동으로 생성해줘야 한다. 클라우드를 쓸 경우에는 자동으로 해준다.
https://qdrant.tech/documentation/guides/distributed_deployment/#creating-new-shard-replicas
참조
https://qdrant.tech/documentation/guides/distributed_deployment/#replication