DynamoDB 작업
DynamoDB는 완전관리형 NoSQL 데이터베이스 서비스로, 원활한 확장성과 함께 빠르고 예측 가능한 성능을 제공합니다. 이 섹션에서는 AWS SDK for Java 2.x를 사용하여 DynamoDB로 작업하는 방법을 보여줍니다.
DynamoDB 클라이언트 선택
SDK는 DynamoDB를 사용한 작업을 위한 2가지 주요 접근 방식을 제공합니다.
- 하위 수준 클라이언트(
DynamoDbClient) -
요청 및 응답을 완전히 제어할 수 있는 DynamoDB 작업에 대한 직접 액세스를 제공합니다. 세분화된 제어가 필요하거나 동적 스키마로 작업하는 경우 이 클라이언트를 사용합니다.
- 향상된 클라이언트(
DynamoDbEnhancedClient) -
Java 객체와 DynamoDB 항목 간의 자동 매핑을 통해 객체 중심 프로그래밍을 제공합니다. 또한 고정된 스키마를 따르지 않는 JSON과 유사한 데이터 작업을 위한 문서 중심 기능을 제공합니다. 잘 정의된 데이터 모델 또는 문서 유형 데이터로 작업할 때 이 클라이언트를 사용합니다.
DynamoDB 클라이언트 구성
DynamoDB로 작업하기 전에 최적의 성능과 신뢰성을 위해 클라이언트를 구성합니다.
DynamoDB 재시도 동작 이해
DynamoDB 클라이언트는 다른 AWS 서비스 클라이언트보다 많은 기본 최대 재시도 횟수인 8을 사용합니다. 이렇게 재시도 횟수가 많으면 DynamoDB의 분산 특성 및 임시 용량 제한을 처리하는 데 도움이 됩니다. 재시도 전략에 대한 자세한 내용은 AWS SDK for Java 2.x에서 재시도 동작 구성 섹션을 참조하세요.
계정 기반 엔드포인트로 성능 최적화
DynamoDB는 AWS 계정 ID를 사용하여 요청 라우팅을 간소화해 성능을 개선하는 AWS 계정 기반 엔드포인트를 제공합니다.
이 기능을 사용하려면 버전 2.28.4 이상의 AWS SDK for Java 2.x가 필요합니다. Maven 중앙 리포지토리
계정 기반 라우팅을 옵트아웃하려면 다음 옵션 중 하나를 선택합니다.
-
AccountIdEndpointMode를DISABLED로 설정하여 DynamoDB 서비스 클라이언트를 구성합니다. -
환경 변수를 설정합니다.
-
JVM 시스템 속성을 설정합니다.
-
공유 AWS 구성 파일 설정을 업데이트합니다.
다음 예제에서는 DynamoDB 서비스 클라이언트를 구성하여 계정 기반 라우팅을 사용 해제하는 방법을 보여줍니다.
DynamoDbClient.builder() .accountIdEndpointMode(AccountIdEndpointMode.DISABLED) .build();
다른 구성 옵션에 대한 자세한 내용은 AWS SDK 및 도구 참조 안내서의 계정 기반 엔드포인트를 참조하세요.
이 주제에서 다루는 내용
다음 섹션에서는 DynamoDB로 작업하는 방법을 보여줍니다.
-
DynamoDB의 테이블 다루기 - 테이블을 만들고, 설명, 업데이트 및 삭제
-
DynamoDB 항목 작업 - 개별 항목 추가, 검색 및 업데이트
-
AWS SDK for Java 2.x를 사용하여 Java 객체를 DynamoDB 항목에 매핑 - 향상된 클라이언트에서 객체 매핑 및 문서 중심 데이터 사용
추가 DynamoDB 코드 예제는 AWS 코드 예제 라이브러리의 DynamoDB 코드 예제를 참조하세요.