본문 바로가기
DB 및 인프라/AWS

[AWS] RDS 이론

by ErrorMin 2023. 1. 28.

 

AWS RDS 구축

  • 데이터를 외부에서 수집할때 필요한 장비.
  • RDS는 데이터를 정형화 하고 보관하는 관계형 데이터베이스이다.
  • 어딘가에서 실시간으로 저장되거나 저장함.
  • 데이터 베이스는 크게 관계형 데이터베이스(RDBS), 또는 NoSQL 두 가지로 나눌 수 있음.
  • 이번에 다룰 RDS는 관계형 데이터 베이스 서비스

 

 

관계형 데이터베이스

  • 관계형 데이터베이스는 행과 열로 이루어져 있으며 2차원 공간임.
  • 공간에서 데이터를 넣고, 꺼내고, 지우고, 업데이트 하는 일을 하게 됨
날짜 날씨 온도 지역
2023/01/01 맑음 -2 서울
2023/01/01 흐림 5 부산

 

 

데이터베이스 용어

  • 데이터베이스(Database) : 하나, 혹은 여러 개의 테이블을 생성하고 관리하는 공간
  • 테이블(Table)                  : 행(Row)과 열(Column)로 이루어진공간, 데이터가 저장되는곳
  • 데이터(Row)                    : 하나의 데이터
  • 필드(Column)                 : 특정한 값을 담고 있으며 하나의 필드는 하나의 데이터만 존재

 

 

데이터베이스 백업

  • RDS에는 두 가지 백업 기능이 있음.
  • 애플리케이션이나 유스 케이스에 따라 어떤 백업 기능을 선택해야 할지 결정 해야함.

자동 백업

  • RDS에서 데이터 베이스를 만들 때 디폴트로 활성화 함
  • 1일~35일의 보유 기간 내에 특정 시간으로 데이터베이스 상태를 복원가능
  • 디폴트 값은 7일에서 최대 35일까지 설정 가능.
  • 복원 기능을 사용하기 위해 스냅샷과 트랜잭션 로그를 생성함.

현재가 23년 1월 10일 일경우 복구 희망시간을 22년 12월 1일로 복구 하고 싶을때

스냅샷을 참조하여 데이터베이스를 복원 할 수 있다.

 

 

데이터베이스 백업 원리

  • 원본 인스턴스에서 백업을 생성할 경우 새로운 인스턴스가 생성이됨
  • 원본과 백업 인스턴스 이름이 다르고 엔드포인트가 다르기 때문이며
    원본은 original이 앞에 붙고 백업 인스턴스는 restored가 붙어 서로 전혀 다른 객체이게 됨.

 

다중 가용 영역 읽기 전용

다중 가용영역

  • RDS에서 제공하는 다중 가용영역은 말 그대로 가용영역이 여러 개 있는 뜻.
  • 데이터베이스에서 이벤트 (쓰기)가 일어날 때 원래 데이터베이스 인스턴스에 업데이트 하는 동시에
    존재하는 가용 영역에 복제본이 만들어지게됨.
  • 가용 영역에 복제본 생성이 실패할 경우 RDS는 이를 자동으로 감지하여 다른 안정적인 가용 영역을 찾아
    복제본을 다시 생성하게됨.

 

엘라스틱캐시

  • 엘라스틱캐시는 AWS 리소스이며 RDS에서 직접 운영되진 않음
  • 하지만 RDS의 성능 개선을 위해 알아두면 매우 유용하며 엘라스틱 캐시는 말 그대로 캐시임.
  • 개시로 데이터를 불러올 때 속도가 굉장히 빠르며 빅데이터를 다룰때 굉장한 힘을 느낄 수 있음.
  • 엘라스틱캐시는 클라우드 내에서 인메모리를 만들며 SNS 같이 동시에 수많은 읽기 요청이 생성됐을시
    RDS 인스턴스에 접근해서 천천히 데이터를 읽어오는 대신에 캐시에 저장된 데이터를 불러오게됨
    이런 방식을 사용하면 애플리케이션 지연 시간을 낮출 수 있음.
  • 캐시는 두가지 종류가 존재하며 맴캐시드 혹은 레디스임.

맴캐시드

  • 맴캐시드는 무료 사용이 가능한 오픈소스
  • 분산 메모리 캐싱 시스템으로 알려져 있으며 오브젝트 캐시라고도 불린다.
  • 메모리 사용량에 있어 문자열 자료형을 처리할 때 주로 사용된다.
  • 텍스트 기반 데이터를 다룰 때 사용하면 좋은 캐싱 기법이다.
  • 장점은 캐시의 몸집이 커졌다 작아졌다 유동적이며 
    처리량이 높을때 성능개선시 맵캐시드의 캐시 크기를 늘리고 반대로는 줄인다.
  • 데이터 처리 사용량에 따라 캐시의 크기가 변하며 주로 문자열 자료형을 처리할때 사용하는 단순한
    캐싱 모델이 필요할때 사용하기 좋다.

레디스

  • 레디스는 복잡한 데이터 타입 (리스트, 해시 테이블)을 메모리에 저장할 수 있다.
  • 자료 구조형 중에서 리스트와 해시 테이블은 데이터를 정렬하는데 뛰어나다.
    (수많은 데이터 정렬에 필요한 비용과 시간이 적게든다.)
  • 장점은 온라인 애플리케이션 중 정렬을 무조건 해야 하거나 실시간으로 업데이터 되는 리더보드 데이터를 사용할 때
    좋은 장비이며 다양한 애플리케이션 (데이터베이스, Amazon SNS 메시징 시스템)등에 사용된다.
  • 레디스는 다중 가용 영역 기능을 포함하고 있다.

'DB 및 인프라 > AWS' 카테고리의 다른 글

[AWS] ElastiCache Redis  (1) 2024.06.04
[AWS] RDS 구축  (0) 2023.01.28
[AWS] EC2  (0) 2023.01.28