사용자 수에 따른 규모 확장 (1)

문린이·2022년 10월 19일
0

출처 : 원티드 & 멘토 훈님

기본 개념

1. 데이터베이스

CAP 이론

  • 일관성(Consistency) : 데이터를 저장하는 장비에 상관없이 데이터는 모든 장비에서 동일한 데이터가 저장되어야 한다.
  • 가용성(Availablity) : 모든 요청에 대해서 정상적인 응답을 보내줘야 한다. 다른 노드의 장애랑 상관없이 영향을 받지 않아야 한다.
  • 부분 결함(Partition tolerance) : 노드 간의 부분 결함이 발생하더라도 (통신 장애) 동작해야 한다.

RDBMS: 관계형 데이터 베이스

  • MySQL, Oracle DB, PostgreSQL 등이 있다.
  • 관계형 데이터베이스는 자료를 테이블과 열, 컬럼으로 표현한다.
  • Join 을 하여 여러 관계를 합칠 수 있다.

NoSQL: 비 관계형 데이터 베이스

  • MongoDB, DynamoDB, Cassandra 등이 있다.
  • 키-값 저장소, 그래프 저장소, 칼럼 저장소, 문서 저장소 등으로 구분할 수 있다.
  • Join 연산은 지원하지 않는다.

2. 규모의 확장

수직적 확장(Scale Up)

  • 일반적으로 비용이 수평적 확장보다 많이 든다.
  • 재부팅이 필요하다.
  • (고사양의) 두배 이상의 CPU, Memory 를 갖춘 시스템은 두배 이상의 비용이 들지만, 두배 이상의 부하를 처리할 수 있는 것은 아니다.

수평적 확장(Scale Out)

  • 여러대의 서버 갯수를 늘리는 방식
  • 무중단 배포가 가능하다.
  • Autoscaling 기능을 통해 자동으로 Scale Out이 가능하다.
profile
Software Developer

0개의 댓글