AWS 데이터베이스 서비스
AWS 데이터베이스 서비스 종류
데이터베이스 유형 |
AWS 데이터베이스 서비스 |
주요 특징 | 사용 사례 |
관계형 | Amazon RDS | 관리형 RDBMS, 참조 무결성, 안전한 트랜잭션 수행, 자동 스케일링 |
전자상 거래, ERP, CRM, SaaS |
키-값 | Amazon DynamoDB | 완전 관리형 NoSQL, 빠른 응답 시간, 처리량 |
모바일 앱, 대규모 트래픽의 웹 서비스 |
문서형 | Amazon DocumentDB (MongoDB 호환) |
JSON 문서 저장 및 쿼리 지원 | 콘텐츠 관리 시스템(CMS) |
인-메모리 | Amazon ElastiCach | 초고속 캐싱, 1밀리초 응답시간, 메모리 저장 |
실시간 분석, 세션 관리 |
그래프형 | Amazon Neptune | 고성능 그래프 데이터베이스, 데이터 관계 생성 및 빠른 탐색 |
추천 시스템, 소셜 네트워크 |
시계열 | Amazon Timestream | 순차적 데이터 수집, 자동 스토리지 관리 |
IoT 데이터, DevOps 애플리케이션 모니터링, |
원장 | Amazon QLDB | 모든 변경에 대한 불변, 검증 기록 유지 (블록체인과 유사한 구조) |
금융 거래 기록, 공급망 추적, 레코드 시스템 |
Amazon RDS
Amazon RDS는 클라우드 환경에서 관계형 데이터베이스를 쉽게 설정하고 운영할 수 있는 서비스다.
사용자는 원하는 성능과 요구사항에 맞는 인스턴스 유형과 데이터베이스 엔진을 선택하여 사용할 수 있다.
지원하는 데이터베이스 엔진
- Amazon Aurora
- PostgreSQL
- MySQL
- MariaDB
- Oracle Database
- SQL Server
Amazon RDS의 특징
- 관계형 데이터베이스 모델을 기반으로, 테이블 구조(행과 열)로 데이터를 구성
- SQL 언어를 사용하여 손쉽게 데이터 관리 가능
- 자동 백업, 모니터링, 이벤트 알림 등을 지원하여 관리 효율성 향상
- 비용 효율적이며, 필요에 따라 성능 조정 가능
- 복제 기능(Read Replica, Multi-AZ)을 통해 가용성과 확장성 확보
Multi-AZ 복제 (고가용성 보장, 동기식 복제)
- 액티브-스탠바이(Active-Standby) 구조
- Primary DB는 활성 상태, Standby Replica는 대기 상태
- Primary DB 장애 발생 시 Standby Replica가 자동 승격
- 동기식 복제(Synchronous Replication)를 통해 데이터 정합성(일관성) 유지
- 다운타임(장애로 인한 서비스 중단)이 중요한 서비스에 적합
Read Replica 복제 (읽기 성능 확장, 비동기식 복제)
- Primary DB에서 읽기 전용 복제본(Read Replica) 생성
- 비동기식 복제(Asynchronous Replication) 방식 사용
- 최대 5개까지 Read Replica 생성 가능
- 다른 리전(Region)에도 복제 가능하여 글로벌 확장 용이
- 읽기 성능을 분산 및 향상시키는 데 유용
- 대량의 리포트/분석 쿼리를 실행하는 경우나 읽기 트래픽이 많아 읽기 성능 확장이 필요한 서비스에서 용이
Amazon Aurora
Amazon Aurora는 AWS에서 개발한 고성능 클라우드 네이티브 관계형 데이터베이스이다.
기존 MySQL, PostgreSQL 같은 오픈 소스 데이터베이스와 호환되면서도, 더 빠르고 안정적이며 비용 효율적인 서비스다.
Aurora의 주요 특징
- 기존 MySQL보다 최대 5배, PostgreSQL보다 최대 3배 빠름
- 대규모 트랜잭션을 처리하는 엔터프라이즈 환경에 적합
- 프로비저닝, 패치, 백업, 복구, 장애 감지 및 복구를 AWS가 자동으로 수행
- 관리 부담이 적어 운영이 편리
- 데이터를 최소 3개 가용 영역(AZ)에 걸쳐 6개 복제본으로 저장
- 하나의 복제본이 손상되어도 자동 복구 가능
- MySQL의 EBS 기반 스토리지보다 더 높은 안정성 제공
- 인스턴스 장애 발생 시, 자동으로 다른 AZ의 복제본으로 장애 조치(Failover)
- Multi-AZ 구성 기본 제공
- 최대 15개의 Read Replica 생성 가능
- Aurora Reader Endpoint를 통해 자동으로 읽기 부하 분산
- 사용한 만큼만 비용을 지불하는 자동 확장 스토리지 (최대 128TB)
- 엔터프라이즈급 성능을 제공하면서도 상용 DBMS(예: Oracle, SQL Server)보다 저렴
- 트래픽이 많고 성능이 중요한 서비스에 좋음 (예: 금융, 게임, 전자상거래)
Aurora vs RDS(MySQL) 비교
Aurora | RDS(MySQL) | |
성능 | MySQL보다 최대 5배 빠름 | 일반적인 성능 |
스토리지 내구성 | 6개 복제본 (3개 AZ) | EBS 기반, Multi-AZ 가능 |
고가용성 | 기본 제공 (자동 Failover) | Multi-AZ 설정 필요 |
읽기 확장성 | 최대 15개 Read Replica | 최대 5개 Read Replica |
백업 및 복구 | 자동 스토리지 확장 (최대 128TB) | 미리 용량 설정 필요 |
비용 | 성능 대비 저렴 | Aurora보다 비용 높을 수도 있음 (빅데이터의 경우) |
Amazon DynamoDB
DynamoDB는 AWS에서 제공하는 NoSQL(비관계형) 데이터베이스다.
데이터를 "키-값(Key-Value)" 형태로 저장하고, 빠르고 확장성이 뛰어난 서버리스 DB야.
DynamoDB의 특징
- 비관계형 데이터베이스 (NoSQL)
- 테이블 간의 관계(Join)가 없음 → 구조가 단순하고 빠름
- 복잡한 데이터(문서, JSON, 리스트, 맵 등) 저장 가능
- 키-값(Key-Value) 저장 방식
- 키(Partition Key): 데이터를 찾는 고유한 식별자
- 값(Value): 단순한 값뿐만 아니라 JSON 같은 복잡한 데이터도 저장 가능
- 빠른 속도 & 높은 확장성
- 10밀리초 미만의 성능 유지 (초고속 처리)
- 자동 확장(Auto Scaling) → 트래픽이 늘어나도 성능 저하 없음
- 서버리스 (Serverless)
- 직접 서버를 관리할 필요 없음
- 사용한 만큼만 비용 지불
DynamoDB를 쓰면 좋은 경우
- 실시간 대량 데이터 처리 (예: 게임 순위, IoT 센서 데이터)
- 서버 관리 없이 자동 확장되는 DB가 필요한 경우
Amazon ElastiCache
Amazon ElastiCache는 인-메모리 데이터베이스로, 데이터를 메모리에 저장하여 빠르게 처리할 수 있는 서비스다.
ElastiCache 특징
- 데이터를 메모리에 저장하므로 읽기/쓰기 속도가 매우 빠름
- 자주 접근하는 데이터를 캐싱하여 애플리케이션 성능 향상
- 대용량 데이터를 저장하는 용도로는 적합하지 않음 (메모리 제한)
- 두 가지 옵션 제공: Memcached와 Redis
Amazon ElastiCache for Memcached
- 객체 캐싱 시스템으로, 자주 접근하는 데이터를 메모리에 저장하여 빠르게 제공
- Memcached와 호환됨
- 주로 단순한 캐싱이 필요한 경우 적합(예: 웹페이지, API 응답)
- 서버꺼지면 데이터 사라짐
Amazon ElastiCache for Redis
- Redis 기반의 인-메모리 데이터베이스
- 데이터베이스, 캐시, 메시지 브로커, 대기열 등 다양한 용도로 사용 가능
- 1밀리초 미만의 지연으로 실시간 애플리케이션 지원
- Redis API와 호환, 복잡한 데이터 구조 (리스트, 해시, 정렬된 세트 등) 지원
- 서버 꺼져도 데이터 유지
- 순위표, 메시지 큐 같은 기능 필요할 때 사용(실시간 랭킹, 채팅 시스템)
'Cloud' 카테고리의 다른 글
Cloud_AWS 고급 네트워킹 서비스 (1) | 2025.03.06 |
---|---|
Cloud_AWS RDS 실습 (0) | 2025.02.28 |
Cloud_AWS 스토리지 실습(EBS, EFS, S3 활용) (0) | 2025.02.26 |
Cloud_AWS 스토리지 서비스 (0) | 2025.02.25 |
Cloud_AWS ELB 서비스 & ALB/NLB 이용한 로드밸런싱 실습 (1) | 2025.02.21 |