DynamoDB란 무엇입니까?

Q: Amazon DynamoDB란 무엇입니까?

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

Q: DynamoDB가 사용자 대신 무엇을 관리합니까?

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

Q: DynamoDB의 일관성 모델은 무엇입니까?

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

  • 최종적 일관된 읽기(기본값) – 최종 일관성 옵션은 읽기 처리량을 최대화합니다. 그러나 최종적 일관된 읽기는 최근 완료한 쓰기 결과를 반영하지 못할 수 있습니다. 모든 데이터 사본은 일반적으로 1초 내에 일관성을 가지게 됩니다. 짧은 시간 이후 읽기를 반복하여 갱신한 데이터를 반환해야 합니다.
  • 강력한 일관된 읽기 – DynamoDB는 최종 일관성 외에도 애플리케이션 또는 애플리케이션의 요소에서 요구하는 경우 강력한 일관된 읽기를 요청할 수 있는 유연성과 제어도 제공합니다. 강력한 일관된 읽기는 읽기 전에 성공적인 응답을 수신한 모든 쓰기를 반영한 결과를 반환합니다.

시작하기

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

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

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

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

Q: DynamoDB에서 어떻게 데이터 항목을 업데이트하고 쿼리합니까?

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

Q: DynamoDB는 운영 체제에 상관없이 실행되는 애플리케이션에서 사용할 수 있습니까?

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

계획

Q: DynamoDB의 사용료는 어떻게 청구됩니까?

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

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

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

DynamoDB는 제한 없이 확장되도록 설계되었습니다. 하지만 개별 테이블에 대해 10,000회의 쓰기 용량 유닛 또는 10,000회의 읽기 용량 유닛의 처리 비율을 초과하기 원한다면 먼저 Amazon에 연락을 취해 주십시오. 또한 하나의 가입 계정에서 20,000개 이상의 쓰기 용량 유닛 또는 20,000개 이상의 읽기 용량 유닛을 프로비저닝하는 경우에도 먼저 한도 증가를 요청하기 위해 문의해 주십시오.

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

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

작동 방식

Q: 데이터 모델 및 API

데이터 모델과 API에 관한 세부 사항은 Amazon DynamoDB: 작동 방식을 참조하십시오.

Q: 확장성, 가용성, 내구성

확장성, 가용성 및 내구성에 관한 정보는 Amazon DynamoDB 제품 세부 사항을 참조하십시오.

Q: Auto Scaling

DynamoDB Auto Scaling에 관한 정보는 DynamoDB Auto Scaling을 활용한 처리 능력 자동 관리를 참조하십시오.

Q: 보안 및 제어

DynamoDB 보안 및 제어에 관한 정보는 Amazon DynamoDB의 인증 및 액세스 제어를 참조하십시오.

Amazon DynamoDB 요금에 대해 자세히 알아보십시오

요금 페이지로 이동
구축할 준비가 되셨습니까?
DynamoDB 시작하기
질문이 있으십니까?
문의하기