-
[클라우드] AWS 데이터베이스 (RDS, Aurora, DynamoDB, ElastiCache)인프라/클라우드 2025. 5. 24. 10:17
- 데이터베이스와 DBMS
- 데이터베이스 모델 유형
- 계층형
- 네트워크형
- 관계형
- 객체 지향형
- AWS의 데이터베이스 서비스
- Amazon RDS(Relational Database Service)
- Amazon RDS 복제 방식
- Amazon Aurora
- Amazon Aurora 복제 방식
- Amazon DynamoDB
- Amazon ElastiCache
- Amazon ElastiCache for Memcached
- Amazon ElastiCache for Redis
- Amazon RDS(Relational Database Service)
데이터베이스와 DBMS
데이터베이스(database) : 데이터를 모아 두는 집합
DBMS(DataBase Management System) : 데이터베이스를 관리하는 시스템
- 데이터에 대해 사용자의 논리적 명령을 해석하고 필요한 데이터를 찾아 주는 시스템
데이터베이스 모델 유형
구조, 운영, 저장 방식에 따라 구분
『AWS 교과서 』, 길벗(2023), 6장 계층형
트리(tree) 구조
1:N으로 상하 종속 관계 연결
- 장점 : 데이터에 빠르게 접근이 가능
- 단점 : 구조 변경에 대한 유연성이 부족
네트워크형
1:N뿐 아니라 1:1, N:N 형태의 연결 (계층형 데이터베이스의 정형화된 구조를 해결)
- 장점 : 하위 개체는 다수의 상위 개체를 가질 수 있어 형태가 좀 더 자유
- 단점 : 다양한 개체 간 연결에 따라 복잡, 데이터베이스 전반의 구조를 이해하는 데 어려움
관계형
데이터의 논리적 관계를 초점으로 특정 개체 정보를 이용하여 열(column)과 행(row)으로 된 테이블(table)이라는 최소 단위로 구성
테이블 사이에는 키를 통한 논리적 연결
- 장점 : 계층형과 네트워크형 데이터베이스 모델은 데이터가 변화하면 상관관계에 따라 모든 데이터를 변경해야 하지만, 관계형 데이터베이스 모델은 데이터가 변화하면 쉽게 적용 가능
- SQL(Structured Query Language)이라는 프로그래밍 언어를 사용 → 손쉽게 데이터베이스를 읽고 쓰고 해석
- 단점 : 시스템 자원을 많이 차지해서 상대적으로 느린 속도
- → 하드웨어가 발전하면서 느린 동작은 점점 해소되고 있는 편
⇒ 관계형 DBMS는 현재 가장 많이 사용하는 데이터베이스 모델
객체 지향형
**모든 데이터를 객체(object)**라는 형태의 최소 단위로 표현
객체 사이에는 상호 간의 소유에 따른 연결
- 장점 : 객체 집합을 정의하고 연결 구조를 확립하여 복잡한 객체 구조도 즉각적으로 표현 (사용자 정의 데이터, 멀티미디어 등 비정형 데이터도 지원)
- 단점 : 보편적으로 사용하는 관계형 데이터베이스의 호환성 문제와 복잡성에 따른 문제
AWS 데이터베이스 서비스
『AWS 교과서 』, 길벗(2023), 6장 Amazon RDS(Relational Database Service)
클라우드 환경에서 관계형 데이터베이스를 간편하게 설정하고 운영할 수 있는 서비스
원하는 성능 요구에 따라 다양한 데이터베이스 인스턴스 유형을 선택
- Amazon Aurora, PostgreSQL, MariaDB, Oracle Database, SQL Server 등 관계형 데이터베이스 엔진을 선택 가능
- SQL 언어 기반으로 데이터베이스를 손쉽게 제어 가능
- 높은 사용 편의성
- 모니터링 및 지표와 이벤트 알람을 이용하여 높은 관리 효율성을 보장
- 비용도 상대적으로 매우 저렴
- 간편한 복제 기능을 이용하여 워크로드의 가용성과 확장성을 확보 가능
Amazon RDS 복제 방식
복제 기능으로 데이터베이스에 있는 데이터를 복제하여 Primary DB의 데이터를 동기화 가능
『AWS 교과서 』, 길벗(2023), 6장 - Multi-AZ 복제 방식
- 액티브-스탠바이(active-standby) 형태로 동작
- Primary DB가 액티브(활성) 상태, 보조의 Standby Replica가 스탠바이(대기) 상태
→ Primary DB에 문제가 발생하면, Standby Replica를 Primary DB로 승격, 동적으로 유지 - 데이터 정합성을 유지하는 것이 가장 중요
- 데이터 정합성 : 데이터가 서로 일관되게 일치하는 것 이를 위해 동기식 복제로 다른 가용 영역에 있는 데이터베이스와 데이터를 동기화
- 동기식 복제(synchronous replica) : 데이터에 변화가 일어나면 원본 데이터를 복제해서 전달하여 동기화
- Read Replica 복제 방식
- 원본 데이터는 Primary DB에, 읽기 전용의 복제 데이터는 Read Replica DB에 생성하여 유지
- Amazon RDS는 최대 다섯 개의 Read Replica 데이터베이스를 복제 가능
- 다른 리전까지 Read Replica 데이터베이스를 보유 가능
Amazon Aurora
AWS 자체의 클라우드 데이터베이스 엔진
엔터프라이즈 수준의 관계형 데이터베이스 엔진 (안정적이고 고성능의 데이터베이스 처리 가능)
- 오픈 소스를 기반으로 다른 관계형 데이터베이스와 호환성이 우수
- 높은 비용 효율
- Amazon Aurora는 Amazon RDS에서 관리하며 프로비저닝, 패치, 백업, 복원, 장애 복구 작업을 수행
Amazon Aurora 복제 방식
스토리지 내결함성이 우수
공유 스토리지를 통해, 최소 세 개의 가용 영역에서 두 개씩 총 여섯 개의 복제 데이터
『AWS 교과서 』, 길벗(2023), 6장
Amazon DynamoDB
비관계형 데이터베이스로, 키-값(key-value) 메소드를 사용
비관계형 : 데이터가 서로 연결되지 않는 개별 형태로 저장, 복잡하고 구조화되지 않은 데이터 유형에 적합
SQL문 사용X (NoSQL 데이터베이스)
- 키 : 데이터의 고유한 식별자로 사용
- 값 : 유형의 제한이 없어 단순한 개체(entity)뿐 아니라 복잡한 집합체까지 무엇이든 가능한 비정형 데이터를 입력 가능
⇒ 이런 키와 값을 쌍으로 집합해서 저장
- 데이터베이스 구조가 단순하여 빠른 처리가 가능
- 대규모 환경에서도 일관되게 10밀리초 미만의 처리 성능을 제공
- 서버리스(serverless)로 동작
- 서버에 대한 프로비저닝, 패치, 소프트웨어 설치가 필요X
- 용량에 따라 테이블을 자동으로 확장 및 축소
Amazon ElastiCache
인-메모리 데이터베이스로, 데이터를 메모리에 저장하는 형태로 동작
- 데이터가 메모리상에 위치하여 데이터를 빠르게 처리 가능
- 데이터양이 많다면 데이터 처리가 느려질 수 있기 때문에, 대용량 데이터에는 적합하지 않고 주로 데이터를 빠르게 자주 접근해야 할 때 사용
Amazon ElastiCache for Memcached
보편적으로 사용하는 메모리 객체 캐싱 시스템
Memcached와 호환하여 자주 접근할 데이터를 메모리에 놓고 빠르게 처리
Amazon ElastiCache for Redis
Redis는 데이터베이스, 캐시, 메시지 브로커 및 대기열 용도로 사용
- 오픈 소스인 Redis 기반으로 구축
- Redis API와 호환하여, 개방형 Redis 데이터 형식으로 저장
- 실시간 애플리케이션을 지원할 수 있도록, 1밀리초 미만의 지연으로 빠른 데이터를 처리
참조
김원일,『AWS 교과서』, 길벗(2023), 6장
'인프라 > 클라우드' 카테고리의 다른 글
[클라우드] AWS의 DNS와 CDN (Route53, CloudFront) (1) 2025.06.14 [클라우드] AWS 스토리지 (0) 2025.05.18 [클라우드] AWS 로드 밸런싱(load balancing) (0) 2025.04.30 [클라우드] AWS 네트워크 (0) 2025.03.31 [클라우드] AWS EC2란? (0) 2025.03.24