본문 바로가기

CS

[DB] 데이터베이스 sharding, clustering, replication

공통점, 데이터 베이스를 여러개로 만드는 것
데이터베이스 서버 - 데이터베이스 스토리지

Clustering(클러스터링)


  • 서버가 죽을 경우를 대비하여 서버를 여러개로 만드는 것
  • 성능 향상, 하나가 죽어도 다른 하나로 운영하면 됨
  • 하나의 스토리지를 공유해 병목현상이 생길 수 있음
  • Active, Active / Active, Stand by : 비용이 저렴하지만 standby -active 전환시 시간이 걸림

Replication


  • Master db, Slave db : 스토리지까지 복제
  • Salve db를 read 용으로 써서 부하를 분산시키는 용도로 사용하기도 함

Sharding(샤딩)


  • 데이터가 많아져 검색이 느려질 때
  • 테이블을 로우 단위로 나눠 샤드로 나누어 저장
  • 어떻게 분산할 것인지, 어떻게 읽을 것인지 샤드키로 결정
  • Hash sharding, Dynamic sharding, Entity group

참고