Java 및 DAX - Amazon DynamoDB

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

Java 및 DAX

DAX SDK for Java 2.x는 AWS SDK for Java 2.x와 호환됩니다. Java 8+에 토대를 두고 있으며, 비차단형 I/O 지원을 포함합니다. AWS SDK for Java 1.x와 함께 DAX를 사용하는 방법에 대한 자세한 내용은 AWS SDK for Java 1.x와 함께 DAX 사용을 참조하세요.

클라이언트를 Maven 종속 항목으로 사용

애플리케이션에서 DAX SDK for Java용 클라이언트를 종속 항목으로 사용하려면 다음 단계를 따릅니다.

  1. Apache Maven을 다운로드하고 설치합니다. 자세한 내용은 Downloading Apache MavenInstalling Apache Maven을 참조하세요.

  2. 애플리케이션의 POM(Project Object Model) 파일에 클라이언트 Maven 종속 항목을 추가합니다. 이 예제에서는 x.x.x를 클라이언트의 실제 버전 번호로 바꿉니다.

    <!--Dependency:--> <dependencies> <dependency> <groupId>software.amazon.dax</groupId> <artifactId>amazon-dax-client</artifactId> <version>x.x.x</version> </dependency> </dependencies>

TryDax 샘플 코드

작업 영역을 설정하고 DAX SDK를 종속 항목으로 추가한 후 TryDax.java를 프로젝트에 복사합니다.

다음 명령을 사용하여 코드를 실행합니다.

java -cp classpath TryDax

다음과 유사한 출력 화면이 표시되어야 합니다.

Creating a DynamoDB client Attempting to create table; please wait... Successfully created table. Table status: ACTIVE Writing data to the table... Writing 10 items for partition key: 1 Writing 10 items for partition key: 2 Writing 10 items for partition key: 3 ... Running GetItem and Query tests... First iteration of each test will result in cache misses Next iterations are cache hits GetItem test - partition key 1-100 and sort keys 1-10 Total time: 4390.240 ms - Avg time: 4.390 ms Total time: 3097.089 ms - Avg time: 3.097 ms Total time: 3273.463 ms - Avg time: 3.273 ms Total time: 3353.739 ms - Avg time: 3.354 ms Total time: 3533.314 ms - Avg time: 3.533 ms Query test - partition key 1-100 and sort keys between 2 and 9 Total time: 475.868 ms - Avg time: 4.759 ms Total time: 423.333 ms - Avg time: 4.233 ms Total time: 460.271 ms - Avg time: 4.603 ms Total time: 397.859 ms - Avg time: 3.979 ms Total time: 466.644 ms - Avg time: 4.666 ms Attempting to delete table; please wait... Successfully deleted table.

타이밍 정보, 즉 GetItemQuery 테스트에 필요한 시간(밀리초)를 기록해 둡니다. 여기서는 DynamoDB 엔드포인트에 대해 프로그램을 실행했습니다. 이제 프로그램을 다시 실행하는데, 이번에는 DAX 클러스터에 대해 실행합니다.

DAX 클러스터의 엔드포인트를 결정하려면 다음 중 하나를 선택합니다.

  • DynamoDB 콘솔에서 DAX 클러스터를 선택합니다. 다음 예제와 같이 클러스터 엔드포인트가 콘솔에 표시됩니다.

    dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
  • AWS CLI를 사용하여 다음 명령을 입력합니다.

    aws dax describe-clusters --query "Clusters[*].ClusterDiscoveryEndpoint"

    다음 예제와 같이 클러스터 엔드포인트 주소, 포트, URL이 출력에 표시됩니다.

    { "Address": "my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com", "Port": 8111, "URL": "dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com" }

이제 프로그램을 다시 실행합니다. 이번에는 클러스터 엔드포인트 URL을 명령줄 파라미터로 지정합니다.

java -cp classpath TryDax dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com

출력을 확인하여 타이밍 정보를 기록해 둡니다. GetItemQuery에 대한 경과 시간은 DAX가 DynamoDB보다 현저히 적어야 합니다.

SDK 지표

Java 2.x용 DAX SDK를 사용하면 애플리케이션의 서비스 클라이언트에 대한 메트릭을 수집하고 Amazon에서 출력을 분석할 수 있습니다. CloudWatch 자세한 내용은 SDK 지표 활성화를 참조하세요.

참고

DAX SDK for Java는 ApiCallSuccessfulApiCallDuration 지표만 수집합니다.