AWS RDS

조민철·2025년 3월 17일

AWS

목록 보기
10/21
post-thumbnail

RDS vs NoSQL

먼저 AWS RDS를 알아보기 전에 RDS 와 NoSQL의 차이점을 알아보겠다. RDS는 관계형 데이터베이스 라고 부르고 NoSQL은 비관계형 데이터베이스라고도 부른다.
관계형 데이터베이스에는 대표적으로 MySQL, MariaDB 등 존재하고 비관계형 데이터베이스는 MongoDB, Redis 등 많은 DB가 존재한다.
RDS 와 NoSQL의 특징들을 간단히 정리해보겠다.

  • RDS
    • 2차원 (행,열)로 표현되며 테이블을 통해 표현된다.
    • 관계형 DB인 만큼 테이블들 끼리 관계를 가지고 외래키를 통해 나타낸다.
    • 스키마를 통해 DB의 구조를 정의할 수 있으며 스키마 변경이 불가능 하다.
    • SQL문을 통해 데이터를 가공한다.
    • ACID 특성을 보장한다.
      • Atomicity(원자성), Consistency(일관성), Isolation(고립성), Durability(지속성)
  • NoSQL
    • 정해진 스키마가 없으며 다양한 방식으로 데이터를 표현한다.
      • Document, Graph, Key-Value, Wide-column
    • Scale-out(수평 확장)에 용이하다.
    • 빠른 읽기 와 쓰기를 지원한다.

AWS RDS

AWS RDS(Relational Database Service)는 AWS에서 사용할 수 있는 관계형 데이터베이스이다. 관리형 데이터베이스로 사용자는 DB 서버를 관리할 필요가 없어 애플리케이션에만 집중할 수 있다.
관리형 데이터베이스는 사용자가 DB를 설치 운영 및 Scale-up 등 관리적은 부분에서 효율적이다.
AWS RDS는 다음과 같은 DB 엔진을 제공한다.

  • Aurora
  • PostgreSQL
  • MySQL
  • MariaDB
  • Oracle DB
  • MS SQL Server

DB 인스턴스


DB 인스턴스는 AWS에서 격리된 데이터베이스 환경이다. 즉, DB의 가상화된 서버라고 보면 된다. 하지만 AWS는 이런 하드웨어(가상화)를 관리를 자동으로 해준다.

인스턴스 클래스

EC2에도 여러가지 인스턴스가 있듯이 DB 인스턴스 클래스에도 여러가지 분야에서 특화된 인스턴스를 확인할 수 있다. ex. 메모리특화, 범용, 등등

인스턴스 클래스
https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.Summary.html

Multi-AZ 배포


AWS RDS는 Activy-Stanby로 작동하며 기본으로 설정되어있는 프라이머리 DB가 죽는다면 새로운 Stanby 인스턴스가 승격되어 장애 조치가 되어 고가용성을 확보할 수 있다.

읽기 전용 복제본


AWS RDS는 읽기 전용 복제본을 생성할 수 있다. 읽기 전용 복제본을 생성하게 되면 프라이머리 DB에서 비동기식으로 계속 복제를하여 DB를 동기화 시킨다. 하지만 읽기 전용 복제 인스턴스를 왜 사용하는걸까?

  • Read만 함으로써 프라이머리 노드에 대한 부하를 해소한다.
  • 재해복구 솔루션으로 읽기 전용 복제본을 독립 실행형 인스턴스로 승격이 가능하다.(프라이머리에 장애 발생 시)

데이터 암호화


AWS RDS는 KMS를 사용하여 저장된 데이터를 암호화를 제공한다.

profile
기록의 힘은 대단하다

0개의 댓글