DynamoDB는 모든 규모에서 빠르고 유연한 비관계형 데이터베이스입니다. DynamoDB를 통해 고객은 분산 데이터베이스를 운영하고 AWS로 확장하는 데 따른 관리 부담에서 벗어날 수 있으며, 하드웨어 프로비저닝, 설정 및 구성, 처리 능력 계획, 복제, 소프트웨어 패치 또는 클러스터 확장에 대해서도 걱정할 필요가 없습니다.
DynamoDB를 사용하면 데이터베이스 소프트웨어의 관리와 이를 실행할 하드웨어의 프로비저닝이라는 데이터베이스 확장의 주요 장애물 하나를 제거할 수 있습니다. 비관계형 데이터베이스를 단 몇 분 만에 배포할 수 있습니다. DynamoDB는 워크로드 수요에 맞춰 자동으로 처리 능력을 확장하며 테이블 크기가 증가함에 따라 데이터를 파티셔닝 및 재파티셔닝합니다. 또한, DynamoDB가 AWS 리전의 세 개 시설에 데이터를 동기적으로 복제하여 높은 가용성과 데이터 안정성을 제공합니다.
DynamoDB에서 데이터를 읽을 때, 사용자는 읽기를 최종적 일관된 읽기나 강력한 일관된 읽기로 지정할 수 있습니다.
DynamoDB에서는 사용자가 정의한 프라이머리 키를 사용하여 GET/PUT 작업을 지원합니다. 기본 키는 테이블 항목에 필요한 유일한 속성입니다.. 사용자가 표를 생성할 때 기본 키를 명시하며, 이 기본 키가 각 항목을 고유하게 식별합니다. 또한, DynamoDB는 글로벌 보조 인덱스 및 로컬 보조 인덱스를 사용하여 기본이 아닌 키 속성을 쿼리할 수 있어 유연한 쿼리 기능을 이용할 수 있습니다.
프라이머리 키는 단일 속성 파티션 키 또는 복합 파티션-정렬 키 중 하나가 될 수 있습니다. 예를 들어 단일 속성 파티션 키는 UserID가 될 수 있습니다. 이러한 단일 속성 기본 키를 통해 그러면 해당 사용자 ID와 관련된 항목의 데이터를 빠르게 읽고 쓸 수 있습니다.
DynamoDB는 복합 파티션-정렬 키를 파티션 키 요소 및 정렬 키 요소로 인덱싱합니다. 이 멀티-파트 키를 통해 첫 번째와 두 번째 요소 값 사이의 계층 구조가 유지됩니다. 예를 들어, 복합 파티션-정렬 키는 UserID(파티션)와 Timestamp(정렬)의 조합이 될 수 있습니다. 파티션 키 요소를 일정하게 유지함으로써 정렬 키 요소를 검색하여 항목을 찾을 수 있습니다. 예를 들어 Query API를 사용하여 일정 범위의 타임스탬프에 걸쳐 단일 UserID에 대한 모든 항목을 검색할 수 있습니다.
DynamoDB 콘솔 또는 CreateTable API를 사용하여 테이블을 만든 후 PutItem 또는 BatchWriteItem API를 사용하여 항목을 삽입할 수 있습니다. 그런 다음, GetItem 또는 BatchGetItem를 사용하거나 테이블에서 복합 기본 키가 활성화되어 사용되고 있는 경우에는 Query API를 사용하여 테이블에 추가한 항목을 검색할 수 있습니다.
예. DynamoDB는 API를 통해 액세스하는 완전관리형 클라우드 서비스입니다. 어떤 운영 체제(Linux, Windows, iOS, Android, Solaris, AIX, HP-UX 등)에서 실행되는 애플리케이션이든 DynamoDB를 사용할 수 있습니다. DynamoDB는 AWS SDK를 사용해 시작하는 것이 좋습니다.
각 DynamoDB 테이블에는 프로비저닝된 읽기 처리량과 쓰기 처리량이 지정되어 있습니다. 해당 처리 용량에 대해 시간 단위로 요금이 청구됩니다. 테이블로 요청을 전송하는지 여부와 관계없이 처리 용량에 대해 시간당 요금이 부과됩니다. 테이블의 프로비저닝된 처리량 용량을 변경하려면 AWS Management Console이나 오토 스케일용 UpdateTable API 또는 PutScalingPolicy API를 사용하면 됩니다. 또한 DynamoDB에서 데이터 스토리지 요금과 함께 표준 인터넷 데이터 전송 요금이 부과됩니다.
DynamoDB 요금에 대한 자세한 내용은 DynamoDB 요금 페이지를 참조하세요.
DynamoDB 테이블당 최대 처리량은 사실상 무제한입니다. 현재 한도에 대한 정보는 DynamoDB 한도 페이지를 참조하세요. 한도 증가를 요청하려면 Amazon에 문의하세요.
Auto Scaling과 수동 처리량 프로비저닝 모두 요청할 수 있는 프로비저닝된 처리량의 최소 크기는 1개의 쓰기 용량 유닛과 1개의 읽기 용량 유닛입니다. 이러한 프로비저닝은 25개의 쓰기 용량 유닛과 25개의 읽기 용량 유닛을 허용하는 프리 티어 범위 내에서 이루어집니다. 프리 티어는 테이블 수준이 아닌 계정 수준에 적용됩니다. 즉, 전체 테이블의 프로비저닝 용량을 합산하여 전체 용량이 쓰기 용량 25유닛, 읽기 용량 25유닛을 초과하지 않으면 프로비저닝 용량이 프리 티어 적용 범위에 속하게 됩니다.
DynamoDB Standard-IA는 애플리케이션 로그, 오래된 소셜 미디어 게시물, 전자 상거래 주문 내역 및 과거 게임 성과와 같이 자주 액세스하지 않는 데이터를 저장하는 테이블에 대한 DynamoDB 총 비용을 줄이는 데 도움이 됩니다. 스토리지가 주요 테이블 비용인 경우(스토리지 비용이 지속적으로 처리량(읽기 및 쓰기) 비용의 50%를 초과하는 경우) DynamoDB Standard-IA 테이블 클래스가 가장 경제적인 선택입니다. DynamoDB 요금 페이지에서 DynamoDB Standard-IA 요금에 대해 자세히 알아보세요.
DynamoDB Standard-IA 테이블은 글로벌 테이블, 보조 인덱스, 온디맨드 백업 및 시점 복구(PITR)를 비롯한 모든 기존 DynamoDB 기능을 지원한다는 점에서 DynamoDB Standard-IA 테이블과 다르지 않습니다. DynamoDB Standard-IA 테이블에는 DynamoDB Standard 테이블과 동일한 방식으로 다른 AWS 서비스와의 통합 기능도 내장되어 있습니다. 예를 들어 Amazon CloudWatch를 사용하여 DynamoDB Standard-IA 테이블의 성능을 모니터링하고, AWS CloudFormation 템플릿을 사용하여 DynamoDB Standard-IA 테이블을 프로비저닝 및 관리하고, DynamoDB Accelerator(DAX)를 통해 캐시를 추가하여 성능을 가속화하고, 변경 데이터 레코드를 Amazon Kinesis Data Streams로 스트리밍하고, DynamoDB Standard-IA 테이블 데이터를 Amazon Simple Storage Service(S3)로 내보낼 수 있습니다.
데이터 모델과 API에 관한 자세한 내용은 Amazon DynamoDB: 작동 방식을 참조하세요.
확장성, 가용성 및 내구성에 관한 정보는 Amazon DynamoDB 제품 세부 정보 섹션을 참조하세요.
DynamoDB 자동 크기 조정에 관한 정보는 DynamoDB Auto Scaling을 활용한 처리량 용량 자동 관리 섹션을 참조하세요.
DynamoDB 보안 및 제어에 대한 자세한 내용은 Amazon DynamoDB의 Identity and Access Management를 참조하세요.