Hyun's Wonderwall

[AWS] RDS, DynamoDB 본문

Study/Cloud

[AWS] RDS, DynamoDB

Hyun_! 2025. 4. 1. 20:20

데이터베이스

관계형 데이터베이스 / 비관계형 데이터베이스

 

RDS 운영 방식

1) On-Premise: 사용자가 직접 서버를 구축해서 DB 관리

2) AWS EC2 위에 직접 DB 설치하고 관리

3) AWS RDS

 

RDS (Relational Database Service)

- 관계형 데이터베이스를 더 쉽게 설치, 운영 및 확장할 수 있는 웹 서비스

- RDS의 장점: 간편 관리, 가용성 및 안정성(자동 백업 및 스냅샷, Multi MZ), 보안성, 확장성(Read Replica), 비용 효율성

 

Multi AZ

- 데이터베이스의 복사본을 다른 가용 영역(AZ)에 자동으로 생성하고 동기화

- 대기 데이터베이스(Standby) 역할

- 장애 감지 시 자동으로 대기 인스턴스로 대체

(다른 지역에 만들어둔 것을 쓸 수 있는 것)

 

Read Replica

- 읽기 전용 복제본: 읽기 쿼리의 성능 향상과 분산 처리

- 비동기적으로 복제 진행

- Read Replica 인스턴스를 이용한 Scale out을 통해 읽기 중심의 데이터베이스 워크로드 처리량 향상

 

SQL
- 관계형 데이터베이스에서 데이터 저장, 조회, 수정, 삭제

- DB에 정해진 구조(스키마)에 따라 테이블에 저장

 

NoSQL

- 비관계형 데이터베이스에서 데이터 저장, 조회, 수정, 삭제

- 정형화되지 않은 구조 사용

- 가용성과 확장성이 높고 고성능에 최적화

- MongoDB, AWS DynamoDB

(비교: MongoDB는 Cluster를 관리자가 구축해야 하는데, DynamoDB는 할 필요 없음)

 

Amazon DynamoDB

- 서버리스

- NoSQL

- 완전관리형

- 높은 가용성과 내구성

- Auto-Scaling

 

핵심 구성 요소

- 테이블 Table

- 항목 Items

- 속성 Attributes

 

Partition Key

- RDBMS의 Primary Key와 같다

- 파티션을 결정

 

Sort Key

- Partition Key로 저장할 파티션 공간을 결정하고 나서, 같은 Partition이라면 Sort Key 값을 기준으로 정렬되어 저장됨

- 일치, 부등호, 포함 등의 범위를 지정할 수 있는 검색을 지원함


 

RDS EC2에서만 접속할 수 있게 사용하기

1. 퍼블릿 EC2를 생성하는데, 퍼블릭 서브넷에 생성하고 퍼블릭 IP 활성화를 체크

2. RDS를 생성하는데, EC2 컴퓨팅 리소스에 연결을 선택하고, 보안그룹 설정해서! (rds-ec2-sg, ec2-rds-sg)

 


DynamoDB에서 쿼리하기

NoSQL 테이블 생성해보기

 

테이블: Music

파티션 키: Artist

정렬 키: songTitle

 

항목 탐색에서 항목(데이터)에 좋아하는 노래들을 이렇게 6곡 추가해 보았다.

 

파티션 키 Oasis로 쿼리해보니 다음과 같이 두 곡이 나왔다.

 

 

정렬 키(Sort Key) 이용하기

같음, 보다 (같거나) 작음/큼, 범위, 시작 문자 등 여러 옵션을 줄 수 있다.

파티션 키 Artist의 값이 Oasis인 것 중, 정렬 키 songTitle의 값이 C로 시작하는 항목인, Oasis의 Champagne Supernova가 나왔다!