Amazon DynamoDB 정보

Amazon DynamoDB란 무엇입니까?

DynamoDB는 모든 규모에서 빠르고 유연한 비관계형 데이터베이스입니다. DynamoDB를 통해 고객은 분산 데이터베이스를 운영하고 AWS로 확장하는 데 따른 관리 부담에서 벗어날 수 있으며, 하드웨어 프로비저닝, 설정 및 구성, 처리량 용량 계획, 복제, 소프트웨어 패치 또는 클러스터 확장에 대해서도 걱정할 필요가 없습니다.

DynamoDB는 사용자 대신 무엇을 관리합니까?

DynamoDB를 사용하면 데이터베이스 소프트웨어의 관리와 이를 실행할 하드웨어의 프로비저닝이라는 데이터베이스 확장의 주요 장애물 하나를 제거할 수 있습니다. 비관계형 데이터베이스를 단 몇 분 만에 배포할 수 있습니다. DynamoDB는 워크로드 수요에 맞춰 자동으로 처리 능력을 확장하며 테이블 크기가 증가함에 따라 데이터를 파티셔닝 및 재파티셔닝합니다. 또한, DynamoDB가 AWS 리전의 세 개 시설에 데이터를 동기적으로 복제하여 높은 가용성과 데이터 안정성을 제공합니다.

DynamoDB의 정합성 모델은 무엇입니까?

DynamoDB에서 데이터를 읽을 때, 사용자는 읽기를 최종적 일관된 읽기나 강력한 일관된 읽기로 지정할 수 있습니다.

  • 최종적 일관된 읽기(기본값) – 최종 일관성 옵션은 읽기 처리량을 최대화합니다. 그러나 최종적 일관된 읽기는 최근 완료한 쓰기 결과를 반영하지 못할 수 있습니다. 모든 데이터 사본은 일반적으로 1초 내에 일관성을 가지게 됩니다. 짧은 시간 이후 읽기를 반복하여 갱신한 데이터를 반환해야 합니다.
  • 강력한 일관된 읽기 – DynamoDB는 최종 일관성 외에도 애플리케이션 또는 애플리케이션의 요소에서 요구하는 경우 강력한 일관된 읽기를 요청할 수 있는 유연성과 제어도 제공합니다. 강력한 일관된 읽기는 읽기 전에 성공적인 응답을 수신한 모든 쓰기를 반영한 결과를 반환합니다.
  • ACID 트랜잭션 - DynamoDB 트랜잭션에서는 개발자에게 단일 AWS 계정 및 지역에서 ACID(원자성, 일관성, 격리성 및 지속성)를 제공합니다. 단일 논리 비즈니스 작업의 일부로 여러 항목에 대한 통합된 삽입, 삭제 또는 업데이트가 필요한 애플리케이션을 구축하는 경우 트랜잭션을 사용할 수 있습니다.

시작하기

DynamoDB는 어떤 종류의 쿼리 기능을 지원합니까?

DynamoDB에서는 사용자가 정의한 프라이머리 키를 사용하여 GET/PUT 작업을 지원합니다. 기본 키는 테이블 항목에 필요한 유일한 속성입니다.. 사용자가 표를 생성할 때 기본 키를 명시하며, 이 기본 키가 각 항목을 고유하게 식별합니다. 또한, DynamoDB는 글로벌 보조 인덱스로컬 보조 인덱스를 사용하여 기본이 아닌 키 속성을 쿼리할 수 있어 유연한 쿼리 기능을 이용할 수 있습니다.

프라이머리 키는 단일 속성 파티션 키 또는 복합 파티션-정렬 키 중 하나가 될 수 있습니다. 예를 들어 단일 속성 파티션 키는 UserID가 될 수 있습니다. 이러한 단일 속성 파티션 키를 사용하면 해당 사용자 ID와 관련된 항목의 데이터를 빠르게 읽고 쓸 수 있습니다.

DynamoDB는 복합 파티션-정렬 키를 파티션 키 요소 및 정렬 키 요소로 인덱싱합니다. 이 멀티-파트 키를 통해 첫 번째와 두 번째 요소 값 사이의 계층 구조가 유지됩니다. 예를 들어, 복합 파티션-정렬 키는 UserID(파티션)와 Timestamp(정렬)의 조합이 될 수 있습니다. 파티션 키 요소를 일정하게 유지함으로써 정렬 키 요소를 검색하여 항목을 찾을 수 있습니다. 예를 들어 Query API를 사용하여 일정 범위의 timestamp에 걸쳐 단일 UserID에 대한 모든 항목을 검색할 수 있습니다.

DynamoDB를 사용하여 데이터 항목을 업데이트하고 쿼리하려면 어떻게 해야 합니까?

DynamoDB 콘솔 또는 CreateTable API를 사용하여 테이블을 만든 후 PutItem 또는 BatchWriteItem API를 사용하여 항목을 삽입할 수 있습니다. 그런 다음, GetItem 또는 BatchGetItem를 사용하거나 테이블에서 복합 기본 키가 활성화되어 사용되고 있는 경우에는 Query API를 사용하여 테이블에 추가한 항목을 검색할 수 있습니다.

모든 운영 체제에서 실행되는 애플리케이션에 DynamoDB를 사용할 수 있습니까?

예. DynamoDB는 API를 통해 액세스하는 완전관리형 클라우드 서비스입니다. 어떤 운영 체제(Linux, Windows, iOS, Android, Solaris, AIX, HP-UX 등)에서 실행되는 애플리케이션이든 DynamoDB를 사용할 수 있습니다. DynamoDB는 AWS SDK를 사용해 시작하는 것이 좋습니다.

계획

DynamoDB의 사용 요금은 어떻게 부과됩니까?

각 DynamoDB 테이블에는 프로비저닝된 읽기 처리량과 쓰기 처리량이 지정되어 있습니다. 해당 처리 용량에 대해 시간 단위로 요금이 청구됩니다. 테이블로 요청을 전송하는지 여부와 관계없이 처리 용량에 대해 시간당 요금이 부과됩니다. 테이블의 프로비저닝된 처리량 용량을 변경하려면 AWS Management Console이나 자동 크기 조정용 UpdateTable API 또는 PutScalingPolicy API를 사용하면 됩니다. 또한 DynamoDB에서 데이터 스토리지 요금과 함께 표준 인터넷 데이터 전송 요금이 부과됩니다.

DynamoDB 요금에 대한 자세한 내용은 DynamoDB 요금 페이지를 참조하세요.

단일 DynamoDB 테이블에 프로비저닝할 수 있는 최대 처리량은 얼마입니까?

DynamoDB 테이블당 최대 처리량은 사실상 무제한입니다. 현재 한도에 대한 정보는 DynamoDB 한도 페이지를 참조하세요. 한도 증가를 요청하려면 Amazon에 문의하세요. 

단일 DynamoDB 테이블에 프로비저닝할 수 있는 최소 처리량은 얼마입니까?

Auto Scaling과 수동 처리량 프로비저닝 모두 요청할 수 있는 프로비저닝된 처리량의 최소 크기는 1개의 쓰기 용량 유닛과 1개의 읽기 용량 유닛입니다. 이러한 프로비저닝은 25개의 쓰기 용량 유닛과 25개의 읽기 용량 유닛을 허용하는 프리 티어 범위 내에서 이루어집니다. 프리 티어는 테이블 수준이 아닌 계정 수준에 적용됩니다. 즉, 전체 테이블의 프로비저닝 용량을 합산하여 전체 용량이 25개의 쓰기 용량 유닛, 25개의 읽기 용량 유닛을 초과하지 않으면 프로비저닝 용량이 프리 티어 적용 범위에 속하게 됩니다.

DynamoDB 테이블 클래스란 무엇입니까?

DynamoDB는 비용 최적화에 도움이 되도록 설계된 두 가지 테이블 클래스를 제공합니다. DynamoDB Standard 테이블 클래스는 기본형으로 대부분의 워크로드에 권장됩니다. DynamoDB Standard-Infrequent Access(DynamoDB Standard-IA) 테이블 클래스는 자주 액세스하지 않는 데이터를 저장하는 테이블에 최적화되어 있으며, 여기서 주요 비용은 스토리지입니다. 각 테이블은 테이블 클래스와 연결되며 각 테이블 클래스는 읽기 및 쓰기 요청뿐만 아니라 데이터 스토리지에 대해 서로 다른 가격을 제공합니다. 사용하는 테이블의 스토리지 요구 사항과 데이터 액세스 패턴에 따라 가장 비용 효율적인 테이블 클래스를 선택할 수 있습니다.

DynamoDB Standard-IA는 언제 사용해야 합니까?

DynamoDB Standard-IA는 애플리케이션 로그, 오래된 소셜 미디어 게시물, 전자 상거래 주문 내역 및 과거 게임 성과와 같이 자주 액세스하지 않는 데이터를 저장하는 테이블에 대한 DynamoDB 총 비용을 줄이는 데 도움이 됩니다. 스토리지가 주요 테이블 비용인 경우(스토리지 비용이 지속적으로 처리량(읽기 및 쓰기) 비용의 50%를 초과하는 경우) DynamoDB Standard-IA 테이블 클래스가 가장 경제적인 선택입니다. DynamoDB 요금 페이지에서 DynamoDB Standard-IA 요금에 대해 자세히 알아보세요.

DynamoDB Standard-IA 테이블은 기존 DynamoDB 기능과 어떻게 연동되고 다른 AWS 서비스와 어떻게 통합되나요?

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

데이터 모델과 API에 관한 자세한 내용은 Amazon DynamoDB: 작동 방식을 참조하세요.

확장성, 가용성, 내구성

확장성, 가용성 및 내구성에 관한 정보는 Amazon DynamoDB 제품 세부 정보 섹션을 참조하세요.

자동 크기 조정

DynamoDB 자동 크기 조정에 관한 정보는 DynamoDB Auto Scaling을 활용한 처리량 용량 자동 관리 섹션을 참조하세요.

보안 및 제어

DynamoDB 보안 및 제어에 대한 자세한 내용은 Amazon DynamoDB의 Identity and Access Management를 참조하세요.

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

Amazon DynamoDB 요금을 확인하십시오.

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

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

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

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

로그인