CS
[DB] 데이터베이스 sharding, clustering, replication
그레고리력
2021. 7. 6. 16:47
공통점, 데이터 베이스를 여러개로 만드는 것
데이터베이스 서버 - 데이터베이스 스토리지
Clustering(클러스터링)
- 서버가 죽을 경우를 대비하여 서버를 여러개로 만드는 것
- 성능 향상, 하나가 죽어도 다른 하나로 운영하면 됨
- 하나의 스토리지를 공유해 병목현상이 생길 수 있음
- Active, Active / Active, Stand by : 비용이 저렴하지만 standby -active 전환시 시간이 걸림
Replication
- Master db, Slave db : 스토리지까지 복제
- Salve db를 read 용으로 써서 부하를 분산시키는 용도로 사용하기도 함
Sharding(샤딩)
- 데이터가 많아져 검색이 느려질 때
- 테이블을 로우 단위로 나눠 샤드로 나누어 저장
- 어떻게 분산할 것인지, 어떻게 읽을 것인지 샤드키로 결정
- Hash sharding, Dynamic sharding, Entity group