카테고리 없음
5. AWS 데이터베이스(RDBMS, NoSQL, ElastiCache[Redis])
초코chip
2024. 9. 26. 07:53
RDS의 DB엔진 종류
RDBMS vs NoSQL
RDBMS 장점
- 조인: 테이블을 조인하여 데이터 간의 관계를 더 잘 이해 가능
- 중복 감소: 동일한 데이터를 여러 위치에 저장하는 대신 한 테이블에 데이터를 저장하고 다른 테이블에서 참조 가능
- 즉, 조인을 통한 중복 감소
- 정확성: 관계형 데이터베이스는 데이터가 높은 무결성으로 유지되고 원자성, 일관성, 격리, 내구성ACID 원칙을 준수하도록 보장
- 친숙도: 관계형 데이터베이스는 1970년대 이래로 널리 사용되어 데이터가 많음
NoSQL의 장점
- 비교적 자유로운 스키마를 가진다
- 모든 속성을 다 가지거나, 동일할 필요 없음
- Key - Value (키 - 값) 데이터 형태
- PUT/ GET형태로 액새스한다
- 1:N, M:N의 관계를 나타낼수 있다
- "관계"를 표현하지는 않지만 빠르다
관리형 vs 비관리형 DB
- 관리형: RDS
- 비관리형: EC2 인스턴스에서 DB를 호스트하는 것
![]() |
![]() |
RDMS에서 제공하는 서비스
DB 이중화(Multi - AZ) - AWS DB 고가용성
- Master와 Standby: 이 구조는 두 개의 가용 영역을 사용하여 DB 인스턴스를 배치
- Master: 주 사용 DB
- Standy: 대기 상태로 존재 = Master에서 문제가 발생되기전에 사용하지 않음
- Master에서 문제가 발생하면 Standy가 Master로 승격
- 동기식 복제(Synchronous Replication): 데이터는 주 데이터베이스에서 보조 데이터베이스로 실시간으로 동일하게 복제
데이터 조회 확장성(Read Replica)
읽기 작업만 할 수 있는 리드 레플리카 여러개를 운영하여, DB 부하를 줄여줌
- 소스 DB: 소스 DB에서 모든 쓰기 작업을 처리
- 리드 레플리카: 읽기 작업만 가능한 DB 복제본
- 사용자나 애플리케이션이 조회 작업을 할 때, 해당 레플리카를 사용
- 비동기 복제:
- 소스 DB에서 일어난 모든 변동 사항(쓰기 작업)을 리드 레플리카로 복제
- 해당 과정은 데이터가 변경될 때마다 자동으로 수행되며, 지연 시간이 발생할 수 있음
RDS의 백업 관리
RDS를 S3에 백업을 하는데, 같은 리
- Master DB는 트랜잭션 로그를 S3에 실시간으로 백업
- Standby DB는 EBS에 저장된 전체 DB 데이터를 스냅샷 형태로 S3에 백업
자동 백업과 수동 스냅샷
- 자동 백업: 전체 DB 인스턴스 및 트랜잭션 로그를 저장하는 것
- 0~35일 동안 유지할 수 있음.
- 특정 시점으로 복구하는 데 유용
- 수동 스냅샷: 35일 이상 자동 백업을 유지할 때 사용하는 것
AWS ElastiCache
- 정의: 인메모리 캐시(In-Memory Cache)는 데이터를 빠르게 접근하기 위해 메모리(RAM)에 저장하는 기술
- 목적: 자주 요청되는 데이터를 메모리에 저장하여 빠르게 읽을 수 있도록 하기 위해
- 용도:
- 모든 기기가 연결됨: 스마트폰, 태블릿, 자동차 등 수많은 기기가 데이터를 빠르게 주고받아야 되는 경우
- 실시간 성능 요구: 온라인 게임, 광고, 전자상거래 같은 서비스는 즉각적인 응답이 필요한 경우
- 예측 불가능한 트래픽: 사용자 요청이 갑자기 많아질 수 있는데, 이를 빠르게 처리해야하는 경우
- 데이터베이스 성능 한계: 많은 요청을 처리할 때 데이터베이스가 느려질 수 있으므로 이를 보완하는 방법이 필요한 경우
Memcached와 Redis 비교
- Memcached:
- 데이터를 저장하는 기능(영구성)이 없음
- 단순히 문자열 데이터를 메모리에 저장하고 빠르게 가져오는 데 적합
- Redis: Memcached보다 더 강력한 기능을 제공
- 데이터를 영구적으로 저장 가능
- 문자열 외에도 다양한 자료형(리스트, 셋 등)을 지원
- 복잡한 작업도 처리 가능
Aurora
- MySQL 호환 관계형 DB엔진
- 장점
- 상용 DB의 10분의 1가격
- MySQL보다 최고 5배 뛰어난 성능
- How?: 어떻게 MySQL보다 뛰어난 성능을 내는가?
- 3개의 가용영역에 걸쳐 6개의 복제를 저장하여 고가용성 제공
- S3에 지속적으로 데이터를 백업

AWS Dynamo DB