Ssoon

Percona Operator (7) - Percona Operator for MongoDB - 샤딩 본문

Database Operator In Kubernetes study

Percona Operator (7) - Percona Operator for MongoDB - 샤딩

구구달스 2022. 6. 23. 02:26
CloudNet@ 팀의 가시다님이 진행하는 Database Operator In Kubernetes study 스터디 중 Percona Operator for MongoDB 샤딩 부분에 대해 정리하였습니다..

 

MongoDB 샤딩 아키텍쳐

  • 데이터를 분산하여 저장하여 1) 부하를 분산 2) 백업과 복구 전략 3) 빠른 성능 을 지원합니다.

 

  • Shard : 데이터베이스의 Replica Set
  • Mongos : 클라이언트 애플리케이션의 쿼리를 처리하는 라우터
  • Config Servers : Replica Set 의 메타데이터와 샤드 클러스터의 정보를 저장

 

클러스터 생성

  • mongos 라우터 접속 서비스 정보 확인 후 ADMIN_USER 로 클러스터에 접속하여 doik 유저를 생성합니다.
  • userAdmin:userAdmin123456@$MYNICK-db-mongos.psmdb.svc.cluster.local

  • CLUSTER_USER 로 클러스터에 접속하여 샤드 목록 정보 확인합니다.
  • clusterAdmin:clusterAdmin123456@$MYNICK-db-mongos.psmdb.svc.cluster.local

  • 샤드 클러스터 상태를 확인합니다.

 

샤딩 테스트

  • doik 로 클러스터에 접속하여 doik 데이터베이스를 생성하고 도큐먼트를 추가합니다.

  • CLUSTER_USER 로 클러스터에 접속하여 샤딩을 활성화 chunks 사이즈를 1M 로 변경합니다.

  • doik 로 클러스터에 접속하여 샤딩하려는 키에 해시 인덱스를 생성합니다.

  • CLUSTER_USER 로 클러스터에 접속하여 "username" 으로 컬렉션을 샤딩합니다.

  • doik 로 클러스터에 접속하여 대량의 도큐먼트을 생성합니다.

  • 생성되는 정보를 확인합니다.

  • 여러 샤드에 분산된 데이터를 쿼리를 시도해 정상 작동을 확인합니다.
  • 아래 'user1234' 는 rs0 으로 'user3000'은 rs1 로 샤딩됨을 확인할 수 있습니다.

  • 청크 정보를 확인합니다.

Comments