기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
모범 사례
이 단원에서는 이전 단원에서 설명한 모범 사례(예: Amazon S3에 400KB를 초과하는 항목 저장, 인덱스 사용, 단일 테이블 설계 및 트랜잭션) 외에도 권장 사항을 요약합니다.
객체 지속성 액세스 패턴 사용
이 가이드의 앞부분에서 설명한 대로 Amazon DynamoDB는 세 가지 액세스 패턴을 제공합니다. 객체 지속성 인터페이스는 깔끔하고 easy-to-maintain 코드를 제공합니다. 읽기/쓰기 작업 중에 모델 속성 값을 사용자 지정하거나 변환해야 하는 경우가 아니면 객체 지속성 인터페이스를 사용하는 것이 좋습니다.
올바른 용량 프로비저닝 모드 선택
온디맨드 용량 프로비저닝은 워크로드가 증가 및 감소함에 따라 읽기 및 쓰기 작업을 자동으로 확장합니다. 워크로드를 예측할 수 없는 경우이 모드를 사용하는 것이 좋습니다. 비용은 일반적으로 프로비저닝된 용량 모드보다 높으며 pay-as-you-use 따라 요금이 부과됩니다. 워크로드를 예측할 수 있고 용량 요구 사항을 예측할 수 있는 경우 프로비저닝된 용량 모드를 사용하는 것이 좋습니다. 자세한 내용은이 가이드의 앞부분에 있는 요금 모델 섹션을 참조하세요.
캐싱 사용
DynamoDB로 작업할 때는 캐싱을 사용하여 각 읽기/쓰기 작업과 관련된 비용을 줄이는 것이 좋습니다. 캐시된 데이터가 오래되면 적절한 무효화 로직을 사용하여 캐시에서 항목을 제거합니다. 캐싱을 구현하는 데 가장 자주 사용되는 엔드포인트를 식별합니다.
스캔 대신 쿼리 사용
DynamoDB 스캔을 최대한 피하세요. DynamoDB 쿼리는 스캔 작업보다 더 효율적이고 비용이 적게 듭니다. 쿼리는 파티션 키(PK) 및 정렬 키(SK) 값을 기반으로 항목을 필터링하는 반면, 스캔은 지정된 파라미터를 기반으로 항목을 필터링하기 위해 모든 레코드를 읽어야 합니다. DynamoDB 요금은 데이터 읽기/쓰기 작업의 볼륨을 기반으로 하므로 스캔에는 쿼리보다 더 많은 비용이 발생합니다. 쿼리도 더 빠르므로 궁극적으로 애플리케이션의 성능이 향상됩니다.
데이터 무결성 검증
DynamoDB는 NoSQL 데이터베이스이므로 관계 데이터를 유지 관리하거나 데이터 무결성 제약 조건을 포함하지 않습니다. 각 항목에는 기본 키와 정렬 키의 고유한 조합만 있어야 합니다. DynamoDB 테이블의 관련 항목 간에 데이터 무결성을 보장하려면 시스템의 애플리케이션 또는 비즈니스 계층에서 엄격한 검증을 수행하는 것이 좋습니다.