solsol38.log
로그인
solsol38.log
로그인
MongoDB - Sharding(이론)
김솔이
·
2022년 11월 9일
팔로우
0
0
[기본 구조]
Server
역할
구성
Config Server
샤딩 메타 데이터 저장/처리
fail over 처리를 위해 동일한 역할을 하는 3대로 구성(복제x)
Mongos Server
라우터 역할
1개 이상으로 구성
Mongod Server
데이터 저장
Replica Set 구성
1. Config Server
데이터 관리
Mongos가 처리해야할 기본 데이터 저장
연결되어있는 Mongos를 통해 데이터 동기화
-> 성능상의 이유로 복제 미사용
2. Mongos Server
라우터 역할
자동 샤딩 처리하는 balancer 탑재
Config와 연결하여 샤딩에 필요한 정보 취득
수행 동작
10초 주기로 config서버에 두 개의 질의 수행
mongos의 현 상태 업데이트(샤딩 상태면 5초 주기로 더 짧게 적용)
분산 락 상태 업데이트
balance: mongos들 간의 데이터 공유 수행
샤드 관리 스레드
ReplicaSetMonitorWatcher
10초 주기로 mongod 서버에 복제 정보 요청하여 데이터 취득
→ 복제정보: 복제 집합 정보(이름과 노드 리스트), master 여부와 master 서버주소, mongod에 저장된 BSON 객체 크기
한 샤드의 복제 정보가 변경되었을 경우 샤드 정보를 업데이트하는 용도로 사용
WriteBackListener
mongos에 샤드가 설정될 때, 샤드에 등록된 mongod 리스트를 취득하여 각 mongod와의 연결을 유지
한 샤드를 구성하고 있는 복제 집합 노드의 fail 처리
3. Mongod Server
Replica set(복제셋): 복제처리 가능한 master-slave 모델로 구성되며 하나의 샤드는 master-slave로 구성된 복제집합
샤딩의 한계
한 청크에 저장될 수 있는 BSON 객체의 수는 250,000개이다.
한 청크에 설정할 수 있는 분할 지점의 최대 개수는 8,192개이다.
MongoDB로 설정할 수 있는 샤드 노드의 개수는 1,000개가 목표이지만 공식사이트에서도 테스트된 샤드의 개수를 100개 정도로 한정
MongoDB Sharding Manual
https://www.mongodb.com/docs/manual/sharding/
김솔이
하이루!
팔로우
다음 포스트
MongoDB - Replication (이론)
0개의 댓글
댓글 작성