Amazon Web Services 한국 블로그
Amazon DynamoDB를 잘 활용하기 위한 10가지 모범 사례
2019년에는 Amazon DynamoDB 모범 사례에 따라 DynamoDB 작업 시 미션 크리티컬 워크로드의 성능을 극대화하고 비용을 최적화하시기 바랍니다. 이 게시물에서는 이러한 문제를 지속적으로 해결하는 데 도움이 되는 DynamoDB 콘텐츠를 집중적으로 설명합니다.
- 파티션 키의 효과적인 설계 및 사용 DynamoDB 테이블의 각 항목을 고유하게 식별하는 기본 키는 단순하거나 복합적(정렬 키와 결합됨)일 수 있습니다. 애플리케이션을 설계할 때는 테이블의 모든 논리적 파티션 키와 해당하는 보조 인덱스 전체에서 동일하게 작동하도록 설계해야 합니다. 이는 NoSQL 모범 사례지만 버스트 용량, 조정 용량 및 쓰기 샤딩의 이점을 추가로 얻을 수 있습니다.
- 정렬 키를 사용하여 데이터 구성 DynamoDB 테이블에서 테이블의 각 항목을 고유하게 식별하는 기본 키는 파티션 키는 물론 정렬 키로 구성될 수도 있습니다. 제대로 설계된 정렬 키는 관련 정보를 단일 위치로 수집하여 쿼리 효율성을 개선합니다. 복합 정렬 키는 원하는 계층 수준에서 쿼리할 수 있는 데이터의 계층(일대다) 관계를 정의하는 데 사용됩니다.
- 보조 인덱스의 효율적인 사용 보조 인덱스는 애플리케이션에 필요한 쿼리 패턴을 지원하는 데 필수적입니다. 뿐만 아니라 보조 인덱스를 비효율적으로 사용하면 비용이 추가되고 성능이 불필요하게 저하될 수 있습니다.
- 대용량 항목 및 속성을 저장하는 방법 이해 DynamoDB는 현재 테이블에 저장할 수 있는 각 항목의 크기를 제한합니다. 크기 제한에 허용된 것보다 많은 데이터를 항목에 저장해야 하는 경우 하나 이상의 크기가 큰 속성을 압축하거나 단일 항목을 열 항목으로 분할(정렬 키를 사용하여 효율적으로 인덱싱할 수 있음)합니다. 또한 항목을 Amazon S3의 객체로 저장하고 Amazon S3 객체 식별자를 DynamoDB 항목에 저장할 수도 있습니다.
- 애플리키에션당 하나의 테이블을 기간별로 사용하여 시계열 데이터 처리 DynamoDB의 일반적인 설계 원칙에 따르면 사용하는 테이블의 수를 최소한으로 유지하는 것이 좋습니다. 대부분의 애플리케이션에서 필요한 테이블은 1개입니다. 그러나 시계열 데이터의 경우 애플리케이션당 하나의 테이블을 기간별로 사용할 수 있습니다.
- 다대다 관계 관리 인접 목록은 DynamoDB에서 다대다 관계를 모델링할 때 유용한 설계 패턴입니다. 보다 일반적으로 이 목록은 DynamoDB의 그래프 데이터(노드 및 엣지)를 표현하는 방법을 제공합니다.
- 하이브리드 데이터베이스 시스템 구현 상황에 따라서는 하나 이상의 RDBMS(관계형 데이터베이스 관리 시스템)를 DynamoDB로 마이그레이션하는 것이 유리하지 않을 수 있습니다. 이러한 경우 하이브리드 시스템을 생성하는 것이 좋습니다.
- NoSQL에서 관계형 데이터 모델링 높은 트래픽의 쿼리에 대한 응답 지연 시간을 낮춰야 하는 경우 NoSQL 시스템의 장점을 활용하는 것이 기술 및 경제적인 측면에서 유리합니다. DynamoDB는 관계형 시스템의 조정 가능성을 제한하는 문제를 방지하여 이러한 문제를 해결합니다.
- 데이터 쿼리 및 스캔 쿼리와 스캔 중에 무엇이 적합한지 결정하고 병렬 스캔의 이점을 활용하는 방법에 대한 팁을 따르십시오.
- 글로벌 테이블 사용 방법 이해 DynamoDB 글로벌 테이블은 자체 복제 솔루션을 구축하고 유지할 필요 없이 다중 리전의 다중 마스터 데이터베이스를 배포할 수 있는 완전관리형 솔루션을 제공합니다. 글로벌 테이블을 생성할 때 테이블을 제공할 AWS 리전을 지정하기만 하면 이러한 리전에 동일한 테이블을 생성하고 지속적인 데이터 변경 내용을 해당하는 모든 리전으로 전파하는 데 필요한 모든 작업을 DynamoDB가 수행합니다.
올해 DynamoDB 모범 사례를 준수하여 성능을 최대화하고 비용을 최소화하십시오. DynamoDB 모범 사례에 대한 질문 또는 피드백이 있는 경우 DynamoDB 포럼을 참조하십시오.
Craig Liebendorfer 씨는 Amazon Web Services의 수석 기술 편집자입니다.
이 글은 AWS Database 블로그 Resolve to follow Amazon DynamoDB best practices in 2019의 한국어 번역입니다.