Amazon DynamoDB키 값문서 데이터 모델을 지원하는 서버리스 NoSQL 데이터베이스 서비스의 일종입니다. 개발자는 Amazon DynamoDB를 사용하여 소규모로 시작하여 전 세계로 규모를 조정할 수 있는 최신 서버리스 애플리케이션을 구축할 수 있습니다. Amazon DynamoDB는 자동화된 수평 스케일링을 통해 거의 모든 크기의 테이블을 지원하도록 규모를 조정합니다.

Amazon DynamoDB는 매일 10조 건 이상의 요청을 지속적으로 처리합니다. 가용성, 내구성 및 내결함성이 기본적으로 제공되고 해제할 수 없으므로 이러한 기능에 맞게 애플리케이션을 설계할 필요가 없습니다.

Amazon DynamoDB는 기존의 관계형 데이터베이스에서는 역부족인 인터넷 규모의 고성능 애플리케이션을 실행할 수 있도록 설계되었습니다. 10년 넘게 선구적인 혁신 투자를 통해 Amazon DynamoDB는 10밀리초 미만의 일관된 성능과 최대 99.999%의 가용성으로 무한한 확장성을 제공합니다.

진행 중인 새로운 기능에 대해 알아보려면 Amazon DynamoDB '새로운 소식' 발표를 통해 새로운 출시에 대해 쉽게 알아볼 수 있습니다.

Amazon DynamoDB란 무엇인가요?

무제한의 확장성을 갖춘 서버리스 성능

키-값 및 문서 데이터 모델

Amazon DynamoDB는 키-값과 문서 데이터 모델을 모두 지원합니다. Amazon DynamoDB는 NoSQL 데이터베이스로서 유연한 스키마를 가지고 있어 항목마다 다른 속성을 가질 수 있습니다. 유연한 스키마를 사용하면 관계형 데이터베이스에서와 같이 테이블 스키마를 재정의해야 하는 부담 없이 비즈니스 요구 사항 변경에 따라 쉽게 조정할 수 있습니다.

0으로 규모를 조정하는 서버리스

Amazon DynamoDB를 사용하면, 서버를 프로비저닝하거나 패치를 적용하거나 관리할 필요가 없으며, 소프트웨어를 설치하거나 관리하거나 운영할 필요도 없습니다. Amazon DynamoDB는 버전(메이저, 마이너 또는 패치)과 유지 보수 기간이 없으며, 가동 중지 시간이 없는 유지 보수를 제공합니다. Amazon DynamoDB 온디맨드 요금은 사용량에 따른 요금을 제공하고, 0으로 규모를 조정하고, 용량에 맞게 자동으로 테이블 크기를 조정하고, 관리 없이 성능을 유지합니다.

ACID 트랜잭션

Amazon DynamoDB는 복잡한 비즈니스 로직이 요구되는 애플리케이션에 대해 원자성, 일관성, 격리 및 내구성(ACID) 트랜잭션을 지원하는 등, 미션 크리티컬 워크로드를 위한 기능이 내장되어 있습니다. Amazon DynamoDB는 트랜잭션에 대해 네이티브 서버 측 지원을 제공하므로, 개발자가 테이블 내에서 그리고 전체 테이블에 걸쳐 모두 변경하거나 전혀 변경하지 않고 간편하게 조정할 수 있습니다.

이제 Amazon DynamoDB에서 트랜잭션당 100개의 작업을 지원하여 개발자 생산성이 향상됩니다. 개발자는 트랜잭션 지원을 통해 Amazon DynamoDB의 규모, 성능 및 엔터프라이즈 이점을 광범위한 미션 크리티컬 워크로드로 확장할 수 있습니다.

글로벌 테이블을 사용하여 액티브-액티브 복제

Amazon DynamoDB 글로벌 테이블은 99.999%의 가용성으로 원하는 AWS 리전 전체에서 데이터의 액티브-액티브 복제를 제공합니다. 글로벌 테이블은 다중 활성 방식이므로 모든 복제본에서 쓰고 읽을 수 있고, 전역적으로 배포된 애플리케이션은 선택한 리전에서 로컬로 데이터를 액세스할 수 있으므로 10밀리초 미만의 읽기 및 쓰기 성능을 달성할 수 있습니다.

또한 글로벌 테이블은 다중 리전 워크로드를 수용할 수 있도록 용량 규모를 자동으로 조정합니다. 글로벌 테이블은 애플리케이션의 다중 리전 복원력을 향상시키며 조직의 비즈니스 연속성 전략의 일부로 간주되어야 합니다.

이벤트 기반 아키텍처의 일부인 Amazon DynamoDB Streams

Amazon DynamoDB Streams는 변경 데이터 캡처 기능입니다. 애플리케이션이 테이블의 항목을 생성, 업데이트 또는 삭제할 때마다 Amazon DynamoDB Streams는 거의 실시간으로 모든 항목 수준 변경을 시간순으로 기록하므로 이벤트 기반 아키텍처 애플리케이션이 변경 사항을 사용하고 조치를 취하는 데 이상적입니다. 모든 변경 사항이 중복 제거되어 24시간 동안 저장됩니다.

또한 애플리케이션은 이 로그에 액세스하여 데이터 항목이 수정되기 전과 후에 표시된 데이터 항목을 거의 실시간으로 볼 수 있습니다. Amazon DynamoDB Streams는 각 스트림 레코드가 스트림에 정확히 한 번 표시되고 수정된 각 항목에 대해 스트림 레코드가 항목의 실제 수정과 동일한 순서로 표시되도록 합니다.

보조 인덱스

다른 모든 데이터베이스 시스템과 마찬가지로 항목 모음인 테이블을 생성하는 것으로 시작합니다. Amazon DynamoDB에는 테이블의 각 항목에 고유한 프라이머리 키가 있습니다. 또한 하나 이상의 보조 키가 있어 많은 애플리케이션에서 다른 속성을 사용하여 데이터를 보다 효율적으로 검색할 수 있다는 이점이 있습니다. Amazon DynamoDB는 글로벌 및 로컬 보조 인덱스를 모두 생성할 수 있는 옵션을 제공하며, 이를 통해 보조 또는 대체 키를 사용하여 테이블의 데이터를 쿼리할 수 있습니다.

글로벌 보조 인덱스를 스파스 인덱스라고도 합니다. 데이터에 액세스하는 방법에 대한 유연성을 극대화할 뿐만 아니라 더 저렴한 비용과 우수한 성능으로 더 낮은 쓰기 처리량을 프로비저닝할 수 있습니다.

보안 및 신뢰성

Amazon DynamoDB는 암호화를 통해 데이터를 보호하고 보호를 위해 데이터를 지속적으로 백업합니다.

세분화된 액세스 제어

Amazon DynamoDB에는 사용자 이름이나 암호가 없습니다. Amazon DynamoDB는 리소스 인증, 생성 및 액세스에 AWS Identity and Access Management(IAM)를 사용합니다. 세분화된 액세스를 허용하는 IAM 정책, 리소스 기반 정책 및 조건을 지정하여 해당 사용자의 ID에 따라 테이블의 특정 항목 및 속성으로 읽기 또는 쓰기 액세스를 제한할 수 있습니다. 이를 통해 고객은 코드 수준에서 보안 정책을 적용할 수 있습니다.

저장 중 암호화

Amazon DynamoDB는 모든 고객 저장 데이터를 기본적으로 암호화합니다. 저장 중 암호화 기능은 AWS Key Management Service(AWS KMS)에 저장된 암호화 키를 사용하여 데이터 보안을 강화합니다. AWS Database Encryption SDK 추가로 속성 수준 암호화를 수행하여 테이블 내 데이터에 대한 세분화된 액세스 제어를 추가로 적용할 수 있습니다. Amazon DynamoDB를 사용하면 엄격한 암호화 규정 준수 및 규제 요구 사항이 필요한, 보안에 민감한 애플리케이션을 구축할 수 있습니다.

암호화 키는 기본 스토리지에 대한 무단 액세스로부터 데이터를 보호하여 추가 데이터 보호 계층을 제공합니다. Amazon DynamoDB에서 사용자 데이터를 암호화하는 데 AWS 소유 키(기본 암호화 유형), AWS 관리형 키, 고객 관리형 키 중 무엇을 사용할지 지정할 수 있습니다. AWS에서 소유하는 KMS 키를 사용한 기본 암호화는 추가 비용 없이 제공됩니다.

시점 복구

시점 복구(PITR) 기능을 사용하면 실수로 쓰거나 삭제하지 못하게 하여 Amazon DynamoDB 테이블을 보호할 수 있습니다. PITR은 Amazon DynamoDB 테이블 데이터를 지속적으로 백업하므로, 이전 35일 동안 두 번째 시점까지 테이블을 복원할 수 있습니다.

PITR은 프로비저닝된 용량을 사용하지 않으며 애플리케이션의 성능이나 가용성에 영향을 미치지 않습니다. AWS Management Console에서 클릭 한 번 또는 API 호출 한 번만으로 간단히 PITR을 활성화하거나 백업 및 복원 작업을 시작할 수 있습니다.

온디맨드 백업 및 복원

온디맨드 백업 및 복원을 통해 Amazon DynamoDB 테이블의 전체 데이터 백업을 만들고 이를 아카이브해두면 기업은 물론 정부의 규제 요건을 준수하는 데도 도움이 됩니다. 프로덕션 애플리케이션의 성능 또는 가용성에 영향을 주지 않고 몇 메가바이트에서 수백 테라바이트에 이르는 테이블 데이터를 백업할 수 있습니다. AWS Backup 통합을 사용하면 계정 간과 리전 간에 온디맨드 백업을 복사하고, 백업에 대한 비용 할당 태깅을 수행하며, 백업을 콜드 스토리지로 전환할 수 있습니다.

프라이빗 네트워크 연결

Amazon DynamoDB는 VPC 내 연결 또는 온프레미스 데이터 센터로부터의 연결에 게이트웨이 Virtual Private Cloud(VPC) 엔드포인트 및 인터페이스 VPC 엔드포인트를 지원합니다. AWS PrivateLink로 활성화된 인터페이스 VPC 엔드포인트를 통해 온프레미스 애플리케이션에서 DynamoDB로의 프라이빗 네트워크 연결을 구성할 수 있습니다. 이렇게 하면 DynamoDB에 대한 프라이빗 연결을 간소화하고 규정 준수를 유지할 수 있습니다.

비용 효율성

읽기/쓰기 용량 모드

Amazon DynamoDB는 각 테이블에 대해 온디맨드와 프로비저닝의 용량 모드를 제공합니다.

  •  사용률이 높을지 확신할 수 없어서 예측이 어려운 워크로드의 경우, 온디맨드 용량 모드를 사용하면 용량을 관리하고 사용량에 대해서만 비용을 지불할 수 있습니다.
  • 프로비저닝된 용량 모드를 사용하는 테이블에는 읽기 및 쓰기 용량을 설정해야 합니다. 지정한 프로비저닝된 용량을 충분히 사용할 것으로 확신할 경우에는 프로비저닝된 용량 모드가 더 비용 효율적입니다. 

온디맨드 모드

온디맨드 용량 모드를 사용하는 테이블의 경우, Amazon DynamoDB는 워크로드가 이전에 도달했던 트래픽 수준으로 증가하거나 감소하면서 즉시 워크로드를 수용합니다. 워크로드 트래픽 수준이 새로운 피크를 기록할 경우에는 Amazon DynamoDB가 워크로드를 수용하기 위해 신속하게 조정을 수행합니다. 새로운 테이블과 기존 테이블에 모두 온디맨드 용량 모드를 사용할 수 있으며, 코드를 변경하지 않고 기존 Amazon DynamoDB API를 계속 사용할 수 있습니다.

Standard Infrequent Access(Standard-IA) 테이블 클래스

자주 액세스하지 않는 데이터의 경우 Amazon DynamoDB Standard-IA 테이블 클래스를 사용하면 Amazon DynamoDB 비용을 최대 60% 절감할 수 있습니다. 스토리지 비용이 저렴한 Standard-IA 테이블은 애플리케이션 로그, 기록 게이밍 데이터, 이전 소셜 미디어 게시물 등과 같이 자주 액세스하지 않는 데이터의 장기 스토리지를 위해 설계되었습니다. Amazon DynamoDB Standard 테이블과 가용성, 내구성 및 성능이 동일하며, 이는 대부분의 워크로드에 대한 기본 옵션이자 가장 비용 효율적인 옵션입니다.

비용 효율성을 높이기 위한 Auto Scaling

프로비저닝된 용량을 사용하는 테이블의 경우에는 Amazon DynamoDB가 애플리케이션의 성능 사용량을 모니터링하여 이전에 설정한 용량을 기준으로 처리량과 스토리지의 Auto Scaling을 제공합니다.

  • 애플리케이션 트래픽이 증가할 경우 Amazon DynamoDB는 처리량을 늘려 작업 부하를 수용합니다.
  • 애플리케이션 트래픽이 감소할 경우에는 Amazon DynamoDB가 스케일 다운하므로 사용하지 않은 용량에 대해 요금을 절약할 수 있습니다.

예약 용량

예약 용량을 사용하면 Amazon DynamoDB Standard 테이블의 단일 리전 읽기 및 쓰기 용량 단위에 대해 프로비저닝된 용량과 비교하여 상당한 할인을 받는 대가로 1년 또는 3년 약정 기간 동안 데이터베이스 용량을 예약할 수 있습니다. 애플리케이션의 읽기 및 쓰기 처리량이 예측 가능한 경우 예약 용량을 고려해 볼 수 있습니다. 예약 용량을 사용하면 1년 약정의 경우 표준 프로비저닝된 용량 요금보다 최대 54%, 3년 약정의 경우 최대 77%를 절약할 수 있습니다.

프리 티어

Amazon DynamoDB는 위험 부담 없이 Amazon DynamoDB의 기능을 사용해 보려는 모든 사용자에게 넉넉한 프리 티어를 제공합니다.

AWS 서비스와의 통합

Amazon DynamoDB를 선택하면 AWS Backup을 통한 데이터 보호 등의 다른 AWS 서비스와의 광범위한 통합의 이점을 누릴 수 있습니다.

Amazon DynamoDB Accelerator를 사용하여 지연 시간을 마이크로초 수준으로 최소화

Amazon DynamoDB Accelerator(DAX)는 완전관리형 인 메모리 캐시를 지원하여 규모에 맞게 테이블에 대한 빠른 읽기 성능을 제공하는 Amazon DynamoDB 호환 캐싱 서비스입니다. DAX를 사용하면 Amazon DynamoDB 테이블의 읽기 성능을 최대 10배까지 개선할 수 있으므로, 초당 수백만 건의 요청에서도 읽기에 필요한 시간을 밀리초에서 마이크로초로 줄일 수 있습니다. DAX 기능DAX 요금에 대해 자세히 알아보세요.

Amazon Simple Storage Service(S3)에서 대량 가져오기/내보내기

S3에서 대량 가져오기/내보내기를 사용하면 Amazon DynamoDB 테이블을 한 애플리케이션, 계정 또는 리전에서 다른 애플리케이션, 계정 또는 리전으로 이동, 변환 및 복사하기 위해 코드를 작성할 필요가 없으므로 데이터를 더 잘 활용할 수 있습니다. 대량 가져오기/내보내기는 테이블의 읽기 또는 쓰기 용량을 사용하지 않으므로 추가 용량을 계획하거나 프로비저닝할 필요가 없습니다. 대량 가져오기/내보내기 프로세스는 Amazon DynamoDB에서 완벽하게 관리합니다.

S3에서 대량 가져오기를 사용하면 CSV, Amazon DynamoDB JSON, Amazon Ion 등의 지원되는 형식을 사용하여 메가바이트에서 테라바이트에 이르는 모든 규모의 데이터를 가져올 수 있습니다. S3에서 대량 가져오기를 통해 고객은 프로비저닝된 용량을 사용하는 클라이언트 기반 쓰기에 비해 최대 66%를 절약할 수 있습니다.

S3로 대량 내보내기를 사용하면 지난 35일 동안의 특정 시점에 대해 시점 복구(PITR)가 활성화된 테이블에서 초 단위로 데이터를 내보낼 수 있습니다. Amazon DynamoDB에서 Amazon S3로 데이터를 내보내면 Amazon Athena, Amazon SageMaker 등의 다른 AWS 서비스를 사용하여 데이터를 분석하고 실행 가능한 인사이트를 확보할 수 있습니다.

Kinesis Data Streams for Amazon DynamoDB로 고급 스트리밍 애플리케이션 개발

Amazon Kinesis Data Streams for Amazon DynamoDB는 Amazon DynamoDB 테이블의 항목 수준 변경을 캡처하여 실시간 대시보드를 지원하고, 지표를 생성하고, 데이터를 데이터 레이크로 전달합니다. Kinesis Data Streams를 이용하면 실시간 로그 집계, 실시간 비즈니스 분석 및 IoT 데이터 캡처와 같은 고급 스트리밍 애플리케이션을 구축할 수 있습니다.

또한 Kinesis Data Streams를 통해 Amazon Kinesis Data Firehose를 사용하여 Amazon DynamoDB 데이터를 Amazon S3, Amazon OpenSearch Service, Amazon Redshift 등의 다른 AWS 서비스에 자동으로 전송할 수 있습니다.

트리거를 사용한 변경 추적

Amazon DynamoDB는 AWS Lambda와 통합되어 트리거를 제공합니다. 트리거를 사용하면 Amazon DynamoDB 테이블에서 항목 수준 변경 사항이 감지될 때 사용자 지정 함수를 자동으로 실행할 수 있습니다. 트리거를 사용하면 Amazon DynamoDB 테이블의 데이터 수정에 응답하는 이벤트 기반 애플리케이션을 구축할 수 있습니다. Lambda 함수는 알림 보내기, 워크플로 시작과 같이 사용자가 지정하는 작업을 실행할 수 있습니다.

Amazon Cloudwatch로 시스템 성능 모니터링 및 진단

데이터베이스 성능을 쉽게 모니터링할 수 있도록 Amazon DynamoDB는 원시 데이터베이스 성능 데이터를 수집하고 처리하는 Amazon Cloudwatch와 통합됩니다. Amazon CloudWatch를 사용하여 Amazon DynamoDB 데이터베이스의 지표와 경보에 대한 사용자 지정 뷰와 대시보드를 생성할 수 있습니다. 이 모니터링 기능은 기본적으로 제공되며 무료로 제공됩니다. 지표 성능에 따라 자동으로 전송되는 경보를 생성할 수도 있습니다.

Amazon CloudWatch Contributor Insights를 사용하면 누가 또는 무엇이 데이터베이스 및 애플리케이션 성능에 영향을 미치는지 신속하게 식별할 수 있습니다. 이 기능을 사용하면 운영 이벤트 중에 문제를 보다 신속하게 격리, 진단 및 해결할 수 있습니다.

FAQ

Amazon DynamoDB는 어디에 사용되나요?

Amazon DynamoDB는 규모에 관계없이 고성능 애플리케이션을 실행하는 데 사용되는 NoSQL 데이터베이스입니다. 애플리케이션에 10밀리초 미만의 성능과 여러 리전에서 무제한 확장성으로 높은 읽기/쓰기 처리량이 필요한 하는 경우 Amazon DynamoDB가 독보적입니다. 애플리케이션에 0으로 스케일 다운할 수 있는 수평 스케일링이 필요한 경우 Amazon DynamoDB는 완전히 자동화된 완전관리형 환경을 제공합니다.

Amazon DynamoDB의 장점은 무엇인가요?

Amazon DynamoDB만의 고유한 장점으로 10밀리초 미만의 성능과 최대 99.999%의 가용성을 제공하는 검증된 완전관리형 ‘0으로 규모 조정’ 서버리스 데이터베이스가 있습니다. Amazon DynamoDB는 규모에 따른 일관된 성능과 함께 가장 엄격한 요구사항을 가진 글로벌 애플리케이션에 필요한 내장 보안, 내구성 및 신뢰성도 제공합니다.

사용 편의성과 무한한 확장성을 갖춘 Amazon DynamoDB는 무한한 확장성과 일관되고 빠른 성능을 추구하는 새로운 현대적 애플리케이션과 기존 인터넷 규모 애플리케이션 모두를 위해 자주 선택됩니다.

Amazon DynamoDB를 사용하면 얻을 수 있는 주요 이점은 무엇인가요?

Amazon DynamoDB는 무한한 확장성, 다중 리전 복원력을 위한 액티브-액티브 데이터 복제, 가장 까다로운 애플리케이션에 대해 입증된 일관된 10밀리초 미만의 응답 시간을 제공하는 완전관리형 서버리스 NoSQL 데이터베이스입니다. Amazon DynamoDB를 시작하기 쉽고 사용하기 쉽습니다.

Amazon DynamoDB는 서버리스인가요?

예, Amazon DynamoDB는 서버리스입니다. 서버를 관리할 필요가 없으므로 용량 프로비저닝 및 패치 적용과 같은 인프라 관리 작업이 필요 없습니다. 또한 Amazon DynamoDB는 버전과 업그레이드가 없으며 가동 중지 시간이 없는 유지 보수를 제공합니다.

Amazon DynamoDB는 ACID를 준수하나요?

예, Amazon DynamoDB Transactions는 단일 AWS 계정 및 리전 내 하나 이상의 테이블에서 ACID를 준수합니다. 따라서 단일 논리 비즈니스 작업의 일부로 여러 항목에 대한 통합된 삽입, 삭제 또는 업데이트가 필요한 애플리케이션을 구축하는 경우 Amazon DynamoDB를 사용할 수 있습니다.

Amazon DynamoDB에 읽기 전용 복제본이 있나요?

Amazon DynamoDB는 읽기 트래픽의 양에 상관없이 자동으로 스케일 아웃되므로 일반적으로 관계형 데이터베이스 개념인 읽기 전용 복제본이 필요하지 않습니다.

Amazon DynamoDB는 자동으로 규모가 조정되나요?

예, Amazon DynamoDB는 애플리케이션 요구 사항에 따라 수평으로 규모가 자동 조정됩니다. Amazon DynamoDB는 자동화된 스케일링과 0으로 규모를 조정하는 기능을 갖추고 있어 많은 애플리케이션에 적합합니다.

Amazon DynamoDB는 얼마나 빠른가요?

Amazon DynamoDB는 10밀리초 미만의 응답 시간을 제공하므로 가장 까다로운 애플리케이션에서도 이러한 성능을 지속적으로 제공할 수 있습니다. 예를 들어, 2022년 Amazon Prime Day에 Amazon DynamoDB는 10밀리초 미만의 성능으로 수조 건의 API 호출에서 초당 1억 520만 개의 요청을 안정적으로 처리했습니다.

Amazon DynamoDB는 어떻게 설정하나요?

Amazon DynamoDB는 개발자용으로 구축되었으며 서버리스이므로 기술 문서를 사용하여 매우 쉽게 설정할 수 있습니다.

웹 페이지 이미지
요금 페이지로 이동하기

Amazon DynamoDB의 요금 옵션을 살펴보십시오.

자세히 알아보기 
계정 가입 이미지
무료 계정에 가입

AWS 프리 티어에 즉시 액세스할 수 있습니다. 

가입하기 
Toolbox 이미지
콘솔에서 구축 시작

AWS Management Console에서 Amazon DynamoDB를 사용하여 구축을 시작하십시오.

로그인