
관계형 데이터베이스
: 데이터가 열과 행의 테이블(또는 '관계') 하나 이상에 저장되는 사전 정의된 관계로 데이터를 구성하는 정보 모음으로, 이를 사용하면 서로 다른 데이터 구조가 어떻게 서로 연관되어 있는지 쉽게 확인하고 이해할 수 있다.
Amazon RDS 는 아래와 같은 작업을 수행할 수 있다.
RDS가 제공하는 데이터베이스 엔진(DBMS) 종류
- Amazon Aurora (AWS가 만든 관계형 데이터베이스)
- PostgreSQL (PostgreSQL Global Development Group)
- MySQL (Oracle)
- MariaDB (Monty Program Ab)
- Oracle Database (Oracle)
- SQL Server (Micriosoft)
| 종류 | 설명 |
|---|---|
| 데이터베이스 생성 | 관계형 데이터베이스 생성이 가능하며 여러 엔진(MySQL, PostgreSQL, Oracle 등) 지원 |
| 데이터 백업 및 복원 | 자동 백업 기능을 제공해 일관된 시점의 스냅숏을 생성하고 보관 |
| 데이터베이스 모니터링 | 데이터베이스 인스턴스의 성능, 용량, 연결 등을 모니터링하는 기능을 제공 |
| 자원 자동 조정 | 인스턴스의 크기와 용량을 필요에 따라 자동으로 조정 가능 |

데이터베이스의 제공 방식은 EC2와 비슷하다.
VPC상에 인스턴스 형태로 구축하며 다양한 인스턴스 클래스를 사용할 수 있다.
EC2와 다른 점은 RDS는 '매니지드 서비스'이며 업데이트 등의 관리가 AWS에 의해 자동으로 이루어진다는 점이다. 백업과 같이 번거로운 관리도 자동화되어 있어 관리자가 수행할 필요가 없다.
(원하지 않은때에 자동으로 업데이트가 되어 문제가 되기도 함)
AWS Database Migration Server(DMS)를 사용하면 기존 데이터베이스를 이전하거나 복제하는 것도 가능하다.
인스턴스 클래스에 대해서 자세히 알아보자.
RDS는 EC2와 마찬가지로 인스턴스 형식으로 사용한다.
인스턴스 클래스는 표준, 메모리 최적화, 버스트 성능 3종류가 있으며, 클래스에 따라 micro, small, medium, large, xlarge, 2xlarge, 4xlarge, 8xlarge, 16xlarge 크기를 제공하고 있다.
| 용도 | 인스턴스 클래스 |
|---|---|
| 표준 | db.m5, db.m4, db.m3, db.m1 |
| 메모리 최적화 | db.x1e, db.x1, db.r5, db.r4, db.r3, db.m2 |
| 버스트 성능 | db.t3, db.t2 |
RDS의 사용절차는 아래와 같다.
1)AWS 로그인 -> 2)DB 인스턴스 생성 -> 3)RDS에 접속 -> 4)데이터를 입력
1) AWS 로그인
2) DB에 인스턴스 생성
프로덕션 환경
: 실제 사용자가 애플리케이션을 사용하는 환경
AZ(Availability Zones)
- 가용 영역
- 하나 이상의 데이터 센터로 구성되어져있는 논리적인 데이터센터
템플릿
- 프로덕션 환경인지, 개발/테스트 환경인지 표현
- 프로덕션 환경을 선택하면 다중 AZ가 기본으로 활성화되는 등 해당 환경에 관한 설정 표시
3) RDS에 접속
4) 데이터를 입력
추가로, 대부분의 경우 RDS는 EC2에 설치된 소프트웨어와 연동하여 사용한다.
따라서 EC2와 같은 네트워크에 위치해야 하며 EC2와 연동 작업이 필요하다.
또한, EC2, RDS 모두 같은 VPC에 위치해야 한다.
즉, RDS를 구축할 때 RDS와 연동할 ec2와 VPC에 대한 정보를 미리 알아두어야 한다.
RDBMS 외에 키 밸류 스토어(Key value store) 데이터베이스가 있다.
키 밸류 스토어(Key value store) 데이터베이스
인 메모리 데이터베이스
: 데이터베이스를 조작할 때마다 외부 기억 장치를 읽기/쓰기를 수행하지 않고, 빈번하게 읽고 쓰는 데이터는 일시적으로 메모리에 보관(캐시)하는 방식으로 메모리를 활용하여 초리속도를 빠르게 하는 데이터베이스
| 종류 | 설명 |
|---|---|
| DynamoDB | - 스토리지에 저장한다. - VPC가 불필요하므로 Lambda 등과 같은 VPC를 사용하지 않는 애플리케이션 환경과 궁합이 좋다는 장점이 있다. |
| Amazon ElastiCache | - 메모리에 저장하는 인 메모리 데이터베이스
- Amazon ElastiCache가 DynamoDB보다 처리 속도가 빠르다. - 인스턴스를 재시작할 때 데이터가 삭제된다. - Redis용과 Memcached용이 있다. |
https://velog.io/@ehddnr7355/AWS-RDS-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0-%ED%9B%84-DataGrip%EC%9C%BC%EB%A1%9C-%EC%99%B8%EB%B6%80%EC%97%90%EC%84%9C-%EC%A0%91%EC%86%8D%ED%95%98%EA%B8%B0
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=274143194