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 |