데이터베이스 부하분산 처리를 위해 복제(Replication)와 샤딩(Sharding) 등 여러 가지 기술이 있습니다.

복제(Replication)의 정의와 AWS Read Replica 구성에 대해 알아보도록 하겠습니다.

 

1. 복제(Replication) 정의

하나의 데이터베이스의 내용을 다른 하나 이상의 데이터베이스로 복사하는 프로세스 입니다.

로드 분산 및 데이터 백업에 활용하여 데이터의 가용성, 안정성 성능을 향상시킬 수 있습니다.

 

복제구조는 일반적으로 마스터-슬레이브(Master-Slave) 구조를 사용합니다.

 

a. 마스터(Master)데이터베이스

  • 쓰기 작업(write operations) 처리
  • SQL - INSERT, UPDATE, DELETE 구문

b. 슬레이브(Slave) 데이터베이스

  • 마스터로부터 데이터를 복제하여 읽기 작업(read operations)을 처리
  • SQL - SELECT 구문

2. Read Replica 분석

프로젝트에서 Staging 환경에서 부하분산 처리를 위해 AWS RDS Read Replica 구성을 적용하였습니다.

Amazon 에서는 다양한 RDS에 대해 Read Replica를 지원하지만 Aurora mysql를 선택하였습니다.

그 이유는 클라우드 비용 때문입니다.

 

동일한 인스턴스 성능과 스토리지 용량 기준으로 RDS 클라우드 한 달 사용료를 비교해 보겠습니다.

- 인스턴스 유형 (t4g.medium), 스토리지 100GB, I/0 비용 제외

 

2-1. Amazon RDS for MySQL

- 한 달 비용 $259.62 예상

- Read Replica 별 스토리지 비용이 청구되기 때문에 소규모 서비스에 유리함

https://aws.amazon.com/ko/rds/mysql/pricing/

비용구분 master slave-1 slave-2
인스턴스 $73.44 $73.44 $73.44
스토리지 $13.1 $13.1 $13.1
합계 $86.54 $86.54 $86.54

 

 

2-2. Amazon Aurora

- 한 달 비용 $256.68 예상

- Read Replica 스토리지 비용이 청구되지 않으므로 엔터프라이즈 서비스에 유리함

https://aws.amazon.com/ko/rds/aurora/pricing/?pg=pr&loc=1

비용구분 master slave-1 slave-2
인스턴스 $81.56 $81.56 $81.56
스토리지 $12 $0 $0
합계 $93.56 $81.56 $81.56

 

 

회사 서비스에 맞는 RDS를 선택하여 클라우드 비용을 줄이는 노력이 필요해보입니다.

SPRING에 RDS Read Replica 적용 예시는 다음 포스팅에서 정리하도록 하겠습니다.

 

읽어주셔서 감사합니다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기