AWS 데이터베이스 & 분석 완전 정복
AWS 데이터베이스 서비스는 CLF-C02 시험에서 "어떤 상황에 어떤 서비스를 선택해야 하는가?" 형태로 자주 출제됩니다. 서비스별 핵심 특징과 사용 사례를 명확히 구분해 두는 것이 중요합니다.
---
관계형 DB vs NoSQL — 기초 개념 정리
관계형 데이터베이스 (SQL)
정해진 스키마(테이블 구조)에 데이터 저장 SQL로 데이터 조회·관리 사용 사례: 금융 시스템, 트랜잭션 처리 예시: MySQL, PostgreSQL, Oracle, SQL Server
NoSQL 데이터베이스
유연한 스키마 (미리 정의 불필요) 수평 확장(Scale-Out)에 최적화 사용 사례: 실시간 앱, IoT, 모바일 예시: DynamoDB, DocumentDB
SQL은 정형 데이터와 트랜잭션 처리에, NoSQL은 유연한 스키마와 대규모 확장이 필요한 상황에 적합합니다.
---
Amazon RDS — 관계형 DB의 대표 선수
RDS(Relational Database Service)는 AWS가 운영·관리하는 완전 관리형 관계형 데이터베이스 서비스입니다. 패치, 백업, 고가용성 구성을 AWS가 자동으로 처리하므로 개발자는 애플리케이션 로직에 집중할 수 있습니다.
지원 엔진
MySQL, PostgreSQL, MariaDB, Oracle, SQL Server, Amazon Aurora
EC2에 직접 DB 설치 vs RDS 사용
| 항목 | EC2 직접 설치 | RDS | |------|------------|-----| | OS 패치 | 직접 수행 | AWS 자동 처리 | | 백업 | 직접 설정 | 자동 백업 + 시점 복구 | | 고가용성 | 직접 구성 | Multi-AZ 내장 | | Read Replica | 직접 구성 | 최대 5개 손쉽게 생성 | | SSH 접근 | 가능 | 불가 |
RDS는 SSH 접속이 불가능합니다. AWS가 인프라를 직접 관리하기 때문이며, 이 점은 시험에서 자주 확인됩니다.
RDS 배포 옵션 3가지
| 옵션 | 목적 | 핵심 특징 | |------|------|----------| | Read Replicas | 읽기 성능 향상 | 비동기 복제, 최대 5개, 쓰기는 메인 DB만 | | Multi-AZ | 고가용성 (장애 대응) | 동기 복제, 자동 장애 조치(Failover), 보조 1개 | | Multi-Region | 재해 복구 + 글로벌 읽기 | 리전 장애 대비, 추가 복제 비용 발생 |
세 옵션은 서로 다른 목적을 가집니다. Read Replica는 읽기 성능 향상, Multi-AZ는 가용 영역 장애 대비, Multi-Region은 리전 전체 장애에 대비한 재해 복구 용도입니다.
---
Amazon Aurora — RDS의 프리미엄 버전
Aurora는 AWS가 자체 개발한 고성능 관계형 데이터베이스입니다. MySQL 및 PostgreSQL과 호환되면서도 훨씬 높은 성능과 가용성을 제공합니다.
| 특징 | 내용 | |------|------| | 호환성 | MySQL 및 PostgreSQL 호환 | | 성능 | MySQL 대비 5배, PostgreSQL 대비 3배 빠름 | | 스토리지 | 자동 확장 (최대 64TB) | | Read Replica | 최대 15개 지원 | | 비용 | RDS 대비 20% 비싸지만 더 효율적 |
Aurora는 고성능·고가용성이 필요한 엔터프라이즈급 워크로드에 적합합니다.
---
Amazon ElastiCache — 인메모리 캐시
자주 사용하는 쿼리 결과를 메모리에 캐싱해 DB 부하를 줄이고 응답 속도를 높입니다. AWS가 OS 패치·백업을 자동으로 처리하는 완전 관리형 서비스입니다.
| 엔진 | 특징 | |------|------| | Redis | 복제·영속성 지원, 고급 기능 | | Memcached | 단순 메모리 캐시, 빠르고 가벼움 |
ElastiCache는 DB 앞단에 배치하는 고성능 인메모리 캐시로, 반복적인 읽기 요청의 응답 속도를 크게 단축시킵니다.
---
Amazon DynamoDB — 서버리스 NoSQL
DynamoDB는 AWS의 완전 관리형 서버리스 NoSQL 데이터베이스입니다. 인프라 관리 없이 수백만 건의 요청을 처리할 수 있으며, 수조 개의 행과 수백 TB 규모의 데이터를 지원합니다.
| 특징 | 내용 | |------|------| | 데이터 모델 | 키-값 + 문서 | | 지연 시간 | 한 자릿수 밀리초 (single-digit ms) | | 확장성 | 수백만 req/초, 수조 개 행, 수백 TB | | 가용성 | 3개 AZ에 자동 복제 | | 관리 | 서버리스 — 인프라 관리 불필요 |
DynamoDB Accelerator (DAX)
DynamoDB 전용 인메모리 캐시로, 응답 속도를 밀리초에서 마이크로초(μs)로 단축합니다.
DynamoDB Global Tables
다중 리전 복제 (멀티-마스터) 전 세계 어디서나 낮은 지연시간으로 읽기·쓰기 가능
DynamoDB는 서버리스 + NoSQL + 한 자릿수 밀리초 지연시간이 핵심 특징입니다. DAX를 추가하면 마이크로초 수준의 응답이 가능합니다.
---
분석/데이터 웨어하우스 서비스
Amazon Redshift — 데이터 웨어하우스
OLAP(Online Analytical Processing) — 대규모 분석 쿼리 최적화 컬럼 기반 스토리지(Columnar Storage) → 빠른 집계 쿼리 다른 데이터 웨어하우스 대비 10배 빠른 성능, 페타바이트 규모 SQL 인터페이스 지원, QuickSight·Tableau 연동 가능
트랜잭션 처리(OLTP)에는 RDS를, 대규모 분석(OLAP)에는 Redshift를 선택합니다.
Amazon Athena — 서버리스 SQL 쿼리
S3에 저장된 데이터를 서버리스 SQL로 직접 쿼리 인프라 관리 불필요, 사용한 데이터 스캔량만 과금 ($5/TB) CSV, JSON, Parquet, ORC 등 다양한 포맷 지원 사용 사례: VPC Flow Logs, ELB 로그, CloudTrail 분석
"S3 데이터를 SQL로 분석"하는 시나리오가 나오면 Athena를 떠올리면 됩니다.
Amazon EMR — 빅데이터 처리
Hadoop, Spark, Hive 기반 관리형 빅데이터 클러스터 수백 개의 EC2 인스턴스로 구성된 클러스터 자동 프로비저닝 사용 사례: 대규모 ETL, 머신러닝, 웹 인덱싱
Amazon QuickSight — BI 대시보드
서버리스 비즈니스 인텔리전스(BI) 시각화 도구 RDS, Redshift, S3 등 다양한 데이터 소스 연결 세션당 과금 모델, ML 기반 인사이트 제공 사용 사례: 임원용 대시보드, 데이터 시각화
AWS Glue — 서버리스 ETL
완전 관리형 ETL(Extract, Transform, Load) 서비스 서버리스, 분석을 위한 데이터 준비·변환 Glue Data Catalog: Athena, Redshift, EMR과 통합되는 데이터 카탈로그
---
특수 목적 데이터베이스
DocumentDB — MongoDB 호환 문서 DB
Aurora처럼 AWS가 자체 개발한 MongoDB 호환 관리형 DB JSON 문서 저장에 최적화, Multi-AZ, 스토리지 자동 확장(최대 64TB) 사용 사례: 콘텐츠 관리, 카탈로그, 모바일 백엔드
Amazon Neptune — 그래프 DB
완전 관리형 그래프 데이터베이스 수십억 개의 관계(Relations)를 밀리초 지연시간으로 쿼리 사용 사례: 소셜 네트워크, 부정 탐지, 추천 엔진, 지식 그래프(Wikipedia)
Amazon QLDB — 원장(Ledger) DB