DynamoDB vs Amazon RDS

DynamoDB와 Amazon RDS는 둘 다 관리형 AWS 데이터베이스이지만 서로 다른 두 세계를 대표합니다. DynamoDB는 알려진 액세스 패턴과 수평 확장을 중심으로 설계된 서버리스 NoSQL 키-값 및 문서 데이터베이스입니다. Amazon RDS는 인스턴스 기반 관계형 엔진 — MySQL, PostgreSQL, MariaDB, SQL Server, Oracle, Db2 — 을 전체 SQL, 조인, 강제 스키마와 함께 실행하는 관리형 서비스입니다.

DynamoDB와 RDS 중 무엇을 써야 하나요?

서버리스 확장을 원하고 관리할 인스턴스가 없기를 바라며, 예측 가능한 키 기반 액세스를 가진 대규모 운영 워크로드에는 DynamoDB를 선택하세요. 익숙한 관계형 엔진에서 전체 SQL — 조인, 임의 쿼리, 정규화된 테이블 전반의 트랜잭션 — 이 필요하고 데이터가 읽기 복제본으로 수직 확장할 수 있는 인스턴스에 맞는다면 Amazon RDS를 선택하세요. 쿼리 유연성 대 손이 덜 가는 확장이 핵심 절충점입니다.

한눈에 보는 DynamoDB vs Amazon RDS

특성DynamoDBAmazon RDS
데이터 모델NoSQL 키-값 및 문서; 유연한 항목별 스키마, 최대 400 KB 항목관계형 — 선택한 엔진에서 강제 스키마를 갖춘 테이블, 행, 열
쿼리 언어네이티브 API(GetItem, Query, Scan)와 SQL 호환 언어 PartiQL기반 엔진의 전체 SQL(MySQL, PostgreSQL, MariaDB, SQL Server, Oracle, Db2)
조인 및 관계JOIN 연산자 없음; AWS는 액세스 패턴 중심의 비정규화를 권장테이블 전반에 걸친 전체 관계형 조인, 외래 키, 제약 조건
인덱스대체 키에 대한 글로벌 및 로컬 보조 인덱스엔진의 인덱스 유형(B-tree, hash, 엔진별)에 더해 일부 엔진의 부분/표현식 인덱스
일관성기본값은 최종적 일관성(읽기); 요청당 강력한 일관성(읽기); ACID 트랜잭션기본적으로 강력한 일관성; 전체 다중 명령문 ACID 트랜잭션
확장 모델수평적 — 자동 파티셔닝; 서버리스 온디맨드가 위아래로 확장(0까지)수직적 — 크기를 조정하는 프로비저닝된 인스턴스에 읽기 확장을 위한 읽기 복제본
프로비저닝 / 운영서버리스; 크기 조정하거나 패치할 인스턴스 없음인스턴스 기반; 클래스와 스토리지를 선택하면 AWS가 패치, 백업, 장애 조치를 관리(Multi-AZ 선택 가능)
요금 모델요청당 과금(온디맨드) 또는 프로비저닝된 용량에 스토리지; 유휴 시 0까지 확장DB 클래스에 대한 인스턴스 시간에 스토리지(일부 옵션은 I/O), 인스턴스 실행 중 과금
최적 워크로드알려진 키 액세스를 가진 대규모 운영 앱(장바구니, 세션, 이벤트, 리더보드)조인, 임의 쿼리, 강력한 데이터 무결성이 필요한 관계형 및 분석 워크로드

DynamoDB가 더 나은 선택인 경우

  • 액세스 패턴이 알려져 있고 키 기반입니다. 읽기를 중심으로 키를 설계하면 사용자가 수백 명이든 수억 명이든 일관된 한 자릿수 밀리초 지연 시간을 얻습니다.
  • 인스턴스 없는 서버리스를 원합니다. 온디맨드 용량은 크기를 조정하거나 패치할 것이 없고 유휴 시 0까지 확장됩니다 — 24시간 실행되는 인스턴스가 없습니다.
  • 쓰기를 수평적으로 확장해야 합니다. DynamoDB는 자동으로 파티셔닝하므로, 단일 관계형 기본(primary)을 확장할 때처럼 샤딩 도구를 추가하지 않습니다.
  • 워크로드가 항목 지향적입니다(프로필, 세션, 장바구니, 이벤트). 조인된 테이블의 그물망이 아닙니다.

Amazon RDS가 더 나은 선택인 경우

  • 전체 SQL과 조인이 필요합니다. RDS는 정규화된 테이블 전반의 조인, 집계, 외래 키, 임의 쿼리를 갖춘 실제 관계형 엔진을 실행합니다.
  • 액세스 패턴이 계속 진화합니다. 유연한 쿼리를 갖춘 관계형 스키마는 키를 재설계하지 않고도 새로운 질문에 적응합니다.
  • 익숙한 엔진을 원합니다. MySQL, PostgreSQL, MariaDB, SQL Server, Oracle, Db2를 통해 팀은 기존의 기술, 도구, SQL을 재사용할 수 있습니다.
  • 데이터셋이 수직 확장 인스턴스에 맞고 읽기 복제본을 갖추며, 꾸준하고 쿼리가 많은 트래픽이 상시 가동 인스턴스에 적합합니다.

DynamoDB로 작업하기

DynamoDB가 갈림길의 옳은 쪽이라면, DynoTable은 macOS, Windows, Linux에서 DynamoDB를 위한 네이티브 데스크톱 클라이언트입니다. 표준 AWS 자격 증명 체인을 읽으므로 데이터는 DynamoDB에 그대로 머무르고 마이그레이션할 것이 없습니다. RDS에서 넘어오는 팀에게 특히 중요한 점은, SQL Workbench가 관계형 형태의 쿼리 — 조인, GROUP BY, 집계 — 를 DynamoDB 자체의 Query/Scan 연산으로 컴파일해 DynamoDB의 액세스 패턴 규칙 안에서 표현하며, AI 어시스턴트가 사용자 본인의 AWS Bedrock 자격 증명으로 실행된다는 점입니다.

SQL 작성이 그립다면 SQL for DynamoDBPartiQL vs SQL 가이드가 무엇이 대응되고 무엇이 그렇지 않은지 설명하며, DynamoDB JOIN 가이드는 네이티브 조인 없이 관계를 모델링하는 방법을 다룹니다. 무료 DynamoDB Expression Builder는 올바른 키 조건, 필터, 업데이트 표현식을 SDK, CLI, PartiQL 형태로 생성합니다. DynoTable은 클로즈드 소스 상용 앱입니다. 이 페이지는 그 기능이 무엇인지를 설명하며, 어떻게 만들어졌는지는 다루지 않습니다.

FAQ

DynamoDB가 Amazon RDS를 대체할 수 있나요?

일부 워크로드에서는 그렇습니다. 액세스 패턴이 예측 가능하고 키 기반이라면 DynamoDB는 RDS 인스턴스를 대체하고 대부분의 확장 및 패치 작업을 없앨 수 있습니다. 조인, 임의 관계형 쿼리, 끊임없이 바뀌는 쿼리 표면에 의존하는 경우에는 적합하지 않으며, 이는 RDS의 강점입니다. 많은 팀이 둘 다 운영합니다: 관계형 작업에는 RDS를, 높은 처리량의 키 액세스에는 DynamoDB를 사용합니다.

DynamoDB가 RDS처럼 SQL과 조인을 지원하나요?

DynamoDB는 SELECT, INSERT, UPDATE, DELETE를 위한 SQL 호환 언어 PartiQL을 지원하지만 JOIN 연산자가 없습니다. AWS는 대신 비정규화를 권장합니다. RDS 뒤의 엔진들은 테이블 전반의 조인을 포함한 전체 SQL을 지원합니다. 조인 없이 관계를 모델링하는 방법은 DynamoDB의 조인을 참고하세요.

DynamoDB가 RDS보다 저렴한가요?

워크로드에 따라 다르므로 양쪽을 모델링하세요. DynamoDB는 요청당(또는 프로비저닝된 용량) 과금에 스토리지를 더하고 유휴 시 0까지 확장되므로, 급증하거나 기준선이 낮은 트래픽에 적합합니다. RDS는 실행 중인 클래스에 대한 인스턴스 시간에 스토리지를 더해 과금하므로, 꾸준하고 쿼리가 많은 워크로드에는 더 비용 효율적일 수 있습니다. 결정하기 전에 실제 액세스 패턴을 기준으로 추정하세요.

관련 자료

Last verified 2026-07-12 against the official AWS DynamoDB and Amazon RDS documentation. Amazon RDS와 DynamoDB는 Amazon Web Services의 서비스이며, 여기서는 식별 목적으로만 언급합니다.

Console 없이 DynamoDB 작업하기

DynoTable은 DynamoDB를 위한 빠른 데스크톱 클라이언트입니다 — 테이블을 탐색하고, SQL 스타일 쿼리를 실행하고, 항목을 로컬에서 편집하세요.