

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 작업 DynamoDB
<a name="examples-dynamodb"></a>

[DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html)는 완전관리형 NoSQL 데이터베이스 서비스로, 원활한 확장성과 함께 빠르고 예측 가능한 성능을 제공합니다. 이 섹션에서는 AWS SDK for Java 2.x를 사용하여 DynamoDB로 작업하는 방법을 보여줍니다.

## DynamoDB 클라이언트 선택
<a name="ddb-clients-overview"></a>

SDK는 DynamoDB를 사용한 작업을 위한 2가지 주요 접근 방식을 제공합니다.

하위 수준 클라이언트(`DynamoDbClient`)  
요청 및 응답을 완전히 제어할 수 있는 DynamoDB 작업에 대한 직접 액세스를 제공합니다. 세분화된 제어가 필요하거나 동적 스키마로 작업하는 경우 이 클라이언트를 사용합니다.

향상된 클라이언트(`DynamoDbEnhancedClient`)  
Java 객체와 DynamoDB 항목 간의 자동 매핑을 통해 객체 중심 프로그래밍을 제공합니다. 또한 고정된 스키마를 따르지 않는 JSON과 유사한 데이터 작업을 위한 문서 중심 기능을 제공합니다. 잘 정의된 데이터 모델 또는 문서 유형 데이터로 작업할 때 이 클라이언트를 사용합니다.

## DynamoDB 클라이언트 구성
<a name="ddb-configuration-setup"></a>

DynamoDB로 작업하기 전에 최적의 성능과 신뢰성을 위해 클라이언트를 구성합니다.

### DynamoDB 재시도 동작 이해
<a name="ddb-retry-behavior"></a>

DynamoDB 클라이언트는 다른 AWS 서비스 클라이언트보다 많은 기본 최대 재시도 횟수인 8을 사용합니다. 이렇게 재시도 횟수가 많으면 DynamoDB의 분산 특성 및 임시 용량 제한을 처리하는 데 도움이 됩니다. 재시도 전략에 대한 자세한 내용은 [에서 재시도 동작 구성 AWS SDK for Java 2.x](retry-strategy.md) 섹션을 참조하세요.

### 계정 기반 엔드포인트로 성능 최적화
<a name="ddb-account-based-endpoints-v2"></a>

DynamoDB는 [AWS 계정 ID를 사용하여 요청 라우팅을 간소화하여 성능을 개선하는 계정 기반 엔드포인트](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.SDKOverview.html#Programming.SDKs.endpoints)를 제공합니다. AWS 

이 기능을 사용하려면 버전 2.28.4 이상의 AWS SDK for Java 2.x가 필요합니다. [Maven 중앙 리포지토리](https://central.sonatype.com/artifact/software.amazon.awssdk/bom/versions)에서 최신 버전을 확인해 보세요. 지원되는 SDK 버전은 자동으로 새 엔드포인트를 사용합니다.

계정 기반 라우팅을 옵트아웃하려면 다음 옵션 중 하나를 선택합니다.
+ `AccountIdEndpointMode`를 `DISABLED`로 설정하여 DynamoDB 서비스 클라이언트를 구성합니다.
+ 환경 변수를 설정합니다.
+ JVM 시스템 속성을 설정합니다.
+ 공유 AWS 구성 파일 설정을 업데이트합니다.

다음 예제에서는 DynamoDB 서비스 클라이언트를 구성하여 계정 기반 라우팅을 사용 해제하는 방법을 보여줍니다.

```
DynamoDbClient.builder()
                 .accountIdEndpointMode(AccountIdEndpointMode.DISABLED)
                 .build();
```

다른 구성 옵션에 대한 자세한 내용은 SDK 및 도구 참조 안내서의 [계정 기반 엔드포인트](https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html)를 참조하세요. AWS SDKs 

## 이 주제에서 다루는 내용
<a name="ddb-topics-overview"></a>

다음 섹션에서는 DynamoDB로 작업하는 방법을 보여줍니다.
+ [DynamoDB의 테이블 다루기](examples-dynamodb-tables.md) - 테이블을 만들고, 설명, 업데이트 및 삭제
+ [의 항목 작업 DynamoDB](examples-dynamodb-items.md) - 개별 항목 추가, 검색 및 업데이트
+ [를 사용하여 Java 객체를 DynamoDB 항목에 매핑 AWS SDK for Java 2.x](dynamodb-enhanced-client.md) - 향상된 클라이언트에서 객체 매핑 및 문서 중심 데이터 사용

추가 DynamoDB 코드 예제는 [코드 예제 라이브러리의 DynamoDB ](java_dynamodb_code_examples.md) AWS 코드 예제를 참조하세요.