ㅁ 풀어야 할 문제
RDBMS의 읽기에 대한 고속화는 매우 중요하고 난이도가 높은 문제다. 스케일 업으로 낼 수 있는 이상의 성능을 내는 것은 당연히 여러 대의 데이터베이스 서버를 이용하면 되지만, 어떻게 해야 하는지는 언제나 고민이다.
ㅁ 해결/패턴
여러 대의 데이터베이스 서버에 쓰기 성능을 높이는 방법으로 [샤딩]이 있다. 기본적으로 같은 구조의 데이터베이스를 만들어 테이블의 컬럼을 키로 사용해 분할하여 쓰기 처리를 분산한다.
AWS의 RDBMS 서비스인 [RDS]를 샤딩 백엔드 데이터베이스로 이용하면 가용성과 운영 효율을 높일 수 있다.
- Spider 스토리지 엔진을 가지고 있는 MySQL 서버 등의 샤딩 소프트웨어를 EC2에 설치한다.
- 여러 대의 RDS를 준비하여 샤딩 백엔드 데이터베이스로 만든다.
- RDS를 여러 지역으로 분산 시킬 수 있다.
샤딩 백엔드 데이터베이스로 RDS(Multi-AZ)를 이용하면 높은 가용성을 구현할 수 있다.
백엔드 데이터베이스를 여러 지역으로 분산하면 각 지역의 시스템 성능 향상을 도모할 수 있다.
'AWS Design Pattern > 관계 데이터베이스 패턴' 카테고리의 다른 글
Inmemory DB Cache - 자주 사용되는 데이터 캐시화 (0) | 2021.02.05 |
---|---|
Read Replica - 읽기 전용 레플리카를 통한 부하분산 (0) | 2021.02.05 |
DB Replication - 온라인 DB 복제 (0) | 2021.02.05 |