AWS SDK for Java 1.x와 함께 DAX 사용 - Amazon DynamoDB

AWS SDK for Java 1.x와 함께 DAX 사용

다음 절차를 따라 Amazon EC2 인스턴스에서 Amazon DynamoDB Accelerator(DAX)용 Java 샘플을 실행합니다.

참고

이 지침은 AWS SDK for Java 1.x를 사용하는 애플리케이션에 대한 것입니다. AWS SDK for Java 2.x를 사용하는 애플리케이션의 경우 Java 및 DAX 단원을 참조하세요.

DAX에 대한 Java 샘플을 실행하려면
  1. JDK(Java Development Kit)를 설치합니다.

    sudo yum install -y java-devel
  2. AWS SDK for Java(.zip 파일)를 다운로드한 후 압축을 풉니다.

    wget http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip unzip aws-java-sdk.zip
  3. 최신 버전의 DAX Java 클라이언트(.jar 파일)를 다운로드합니다.

    wget http://dax-sdk.s3-website-us-west-2.amazonaws.com/java/DaxJavaClient-latest.jar
    참고

    DAX SDK for Java용 클라이언트는 Apache Maven에서 받을 수 있습니다. 자세한 내용은 클라이언트를 Apache Maven 종속 항목으로 사용 단원을 참조하십시오.

  4. CLASSPATH 변수를 설정합니다. 이 예제에서는 sdkVersion을 AWS SDK for Java의 실제 버전 번호로 바꿉니다(예: 1.11.112).

    export SDKVERSION=sdkVersion export CLASSPATH=$(pwd)/TryDax/java:$(pwd)/DaxJavaClient-latest.jar:$(pwd)/aws-java-sdk-$SDKVERSION/lib/aws-java-sdk-$SDKVERSION.jar:$(pwd)/aws-java-sdk-$SDKVERSION/third-party/lib/*
  5. 샘플 프로그램 소스 코드(.zip 파일)를 다운로드합니다.

    wget http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/samples/TryDax.zip

    다운로드가 완료되면 소스 파일의 압축을 풉니다.

    unzip TryDax.zip
  6. Java 코드 디렉터리로 이동하여 다음과 같이 코드를 컴파일합니다.

    cd TryDax/java/ javac TryDax*.java
  7. 프로그램을 실행합니다.

    java 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 Writing 10 items for partition key: 4 Writing 10 items for partition key: 5 Writing 10 items for partition key: 6 Writing 10 items for partition key: 7 Writing 10 items for partition key: 8 Writing 10 items for partition key: 9 Writing 10 items for partition key: 10 Running GetItem, Scan, and Query tests... First iteration of each test will result in cache misses Next iterations are cache hits GetItem test - partition key 1 and sort keys 1-10 Total time: 136.681 ms - Avg time: 13.668 ms Total time: 122.632 ms - Avg time: 12.263 ms Total time: 167.762 ms - Avg time: 16.776 ms Total time: 108.130 ms - Avg time: 10.813 ms Total time: 137.890 ms - Avg time: 13.789 ms Query test - partition key 5 and sort keys between 2 and 9 Total time: 13.560 ms - Avg time: 2.712 ms Total time: 11.339 ms - Avg time: 2.268 ms Total time: 7.809 ms - Avg time: 1.562 ms Total time: 10.736 ms - Avg time: 2.147 ms Total time: 12.122 ms - Avg time: 2.424 ms Scan test - all items in the table Total time: 58.952 ms - Avg time: 11.790 ms Total time: 25.507 ms - Avg time: 5.101 ms Total time: 37.660 ms - Avg time: 7.532 ms Total time: 26.781 ms - Avg time: 5.356 ms Total time: 46.076 ms - Avg time: 9.215 ms Attempting to delete table; please wait... Successfully deleted table.

    GetItem, QueryScan 테스트에 필요한 시간 정보(밀리초)를 기록해 둡니다.

  8. 전 단계에서 DynamoDB 엔드포인트에 대해 프로그램을 실행했습니다. 이제 프로그램을 다시 실행하되, 이번에는 GetItem, QueryScan 작업을 DAX 클러스터에서 처리합니다.

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

    • Using the DynamoDB console(DynamoDB 콘솔 사용) - DAX 클러스터를 선택합니다. 다음 예제와 같이 클러스터 엔드포인트가 콘솔에 표시됩니다.

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

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

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

      { "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" }

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

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

    나머지 출력을 확인하여 시간 정보를 기록해 둡니다. GetItem, Query, Scan에 대한 경과 시간은 DAX가 DynamoDB보다 현저히 적어야 합니다.

이 프로그램에 대한 자세한 내용은 다음 단원을 참조하세요.

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

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

클라이언트를 Maven 종속 항목으로 사용하려면
  1. Apache Maven을 다운로드하고 설치합니다. 자세한 내용은 Downloading Apache MavenInstalling Apache Maven을 참조하세요.

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

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