본문 바로가기

CS/데이터베이스

수직적 확장과 수평적 분할

1. 수직적 확장(Scale Up)

  • 서버 자체를 증강시켜 처리 능력을 향상시킨다.
  • 구축, 설계가 쉽다.
  • 인프라 비용이 별도로 발생하지 않는다.
  • 하지만 확장성의 한계가 있다.
  • 트래픽 부하로 인한 장애 영향이 커진다.
  • 데이터 갱신이 빈번하게 일어나는 데이터 베이스 서버 등

2. 수평적 분할(Scale Out)

  • 서버 대수를 증가시켜서 처리 능력을 향상시킨다.
  • 지속적인 확장이 가능하다.
  • 분산처리로 장애 가능성이 낮아진다.
  • scale up 보다는 저렴하다.
  • 설계, 구현이 복잡해서 관리 비용이 증가한다.(서버 모두 같은 데이터를 유지해야 한다)
  • 로드 밸런서가 필요하기 때문에 기본적인 직렬화가 존재한다.
  • 높은 병렬성 실현이 쉽고 정합성 유지가 쉬운 경우에 사용한다.
  • 메일 게시판 서버, 데이터 읽기 전용 어플리케이션, 웹 서버 등
  • 참고로, 로드 밸런서가 SPOF(단일 고장점)가 될 수 있다.
  • 이는 복잡도 낮추기, 복제, 다양성, 투명성 의 노력으로 위험을 줄일 수 있다.

'CS > 데이터베이스' 카테고리의 다른 글

트랜잭션의 격리수준  (0) 2021.09.28
Injection  (0) 2021.09.28
인덱스란?  (0) 2021.07.20
트랜잭션의 정의와 특징  (0) 2021.06.30
Key  (0) 2021.06.23