데이터베이스 서비스

RDS, DynamoDB, Aurora 등 CLF-C02 시험에 나오는 AWS 주요 데이터베이스 서비스와 워크로드별 선택 기준을 정리합니다.

데이터베이스가 뭔가요?

데이터베이스는 정보를 체계적으로 저장하고 빠르게 찾을 수 있도록 만든 저장소입니다. 쉽게 말하면 엑셀 표처럼 데이터를 정리해두고, 원하는 내용을 빠르게 검색하는 시스템입니다.

AWS는 다양한 종류의 데이터베이스 서비스를 제공합니다. 상황마다 적합한 서비스가 다르기 때문에, 각 서비스가 어떤 특징을 가지고 있는지 이해하는 것이 중요합니다.

---

 

관계형 vs 비관계형, 뭐가 다른가요?

가장 먼저 이해해야 할 것은 두 가지 데이터베이스 종류의 차이입니다.

관계형 데이터베이스는 엑셀 스프레드시트처럼 생겼습니다. 행과 열로 구성된 표에 데이터를 저장합니다. 모든 데이터는 미리 정해진 형식(스키마)에 따라 저장되어야 합니다. SQL이라는 언어로 데이터를 검색하고 수정합니다.

비관계형 데이터베이스는 메모장처럼 자유롭습니다. 형식이 고정되지 않아 데이터를 다양한 형태로 저장할 수 있습니다. 매우 빠르고 유연합니다.

---

 

Amazon RDS (Relational Database Service)

MySQL, PostgreSQL, MariaDB, Oracle, SQL Server, Aurora를 AWS에서 관리형으로 사용할 수 있게 해주는 서비스입니다.

"관리형"이라는 말은 AWS가 대신 해주는 일이 있다는 뜻입니다. 운영체제 업데이트, 데이터베이스 엔진 업데이트, 자동 백업을 AWS가 처리합니다. 우리는 데이터베이스 쿼리와 애플리케이션에만 집중할 수 있습니다.

중요한 두 가지 기능입니다.

멀티 AZ 배포: 주 데이터베이스와 동일한 내용을 갖는 대기 데이터베이스를 다른 AZ에 만들어둡니다. 주 DB에 장애가 생기면 자동으로 대기 DB로 전환됩니다. 이것이 고가용성입니다. 읽기 전용 복제본(Read Replica): 읽기 요청만 처리하는 복사본을 만들어 주 DB의 부담을 줄입니다. 성능 향상에 사용합니다.

---

 

Amazon Aurora

AWS가 처음부터 새로 만든 관계형 데이터베이스입니다. MySQL 및 PostgreSQL과 완벽하게 호환됩니다.

Aurora의 특징입니다.

MySQL보다 최대 5배, PostgreSQL보다 최대 3배 빠른 성능을 제공합니다. 스토리지가 자동으로 10GB 단위로 최대 128TB까지 늘어납니다. 3개의 가용 영역에 6개의 복사본을 자동으로 유지합니다. 데이터 손실 없이 장애 복구가 매우 빠릅니다.

이미 MySQL이나 PostgreSQL을 사용하고 있다면, Aurora로 마이그레이션해서 성능을 높일 수 있습니다.

---

 

Amazon DynamoDB

키-값 구조의 비관계형(NoSQL) 데이터베이스입니다. 표 형식이 아닌 자유로운 형태로 데이터를 저장합니다.

DynamoDB의 특징입니다.

서버리스: 서버 설정이 필요 없고 용량 계획도 하지 않아도 됩니다. 트래픽에 따라 자동으로 확장됩니다. 한 자릿수 밀리초 응답 시간: 데이터 조회가 엄청나게 빠릅니다. 글로벌 테이블: 여러 리전에 자동으로 복제되어 전 세계 어디서나 빠르게 접근할 수 있습니다.

---

 

기타 데이터베이스 서비스

| 서비스 | 어떤 상황에 쓰나요? | |--------|-----------------| | Amazon ElastiCache | 자주 읽는 데이터를 메모리에 저장해서 초고속으로 제공합니다. Redis 또는 Memcached 기반입니다. | | Amazon Redshift | 수십억 건의 데이터를 분석하는 데이터 웨어하우스입니다. 비즈니스 인텔리전스 도구와 연결합니다. | | Amazon Neptune | 사람 간의 관계, 소셜 네트워크처럼 연결 관계가 복잡한 데이터를 저장하는 그래프 데이터베이스입니다. | | Amazon DocumentDB | MongoDB와 호환되는 문서 데이터베이스입니다. JSON 형태의 데이터를 저장합니다. | | AWS DMS (Database Migration Service) | 서비스를 중단하지 않고 운영 중인 상태에서 데이터베이스를 다른 곳으로 이전합니다. |

---

 

어떤 상황에 무엇을 쓸까요?

| 이런 상황이라면 | 이 서비스를 쓰세요 | |-------------|---------------| | 표 형태의 데이터, SQL로 검색 | RDS 또는 Aurora | | MySQL/PostgreSQL인데 더 빠른 성능이 필요 | Aurora | | 자유로운 형식, 초고속 응답 필요 | DynamoDB | | 자주 읽는 데이터를 캐싱해서 빠르게 | ElastiCache | | 대용량 데이터 분석, 리포트 생성 | Redshift | | 소셜 그래프, 추천 엔진 | Neptune |

---

 

시험 핵심 정리

"관계형 DB, SQL, 관리형 서비스" — RDS "MySQL/PostgreSQL 호환, 최대 5배 빠름" — Aurora "키-값, 서버리스, 밀리초 응답" — DynamoDB "자주 읽는 데이터를 메모리에 캐싱" — ElastiCache "대규모 분석, 데이터 웨어하우스" — Redshift "관계 데이터, 소셜 네트워크" — Neptune "운영 중 DB 마이그레이션" — AWS DMS RDS 멀티 AZ는 고가용성(장애 복구)을 위한 것이고, 읽기 전용 복제본은 성능 향상을 위한 것입니다. 이 둘을 헷갈리면 안 됩니다.

블로그 목록으로 돌아가기