다음 절차를 따라 Amazon EC2 인스턴스에서 Amazon DynamoDB Accelerator(DAX)용 Java 샘플을 실행합니다.
참고
이 지침은 AWS SDK for Java 1.x를 사용하는 애플리케이션에 대한 것입니다. AWS SDK for Java 2.x를 사용하는 애플리케이션의 경우 Java 및 DAX 단원을 참조하세요.
DAX에 대한 Java 샘플을 실행하려면
-
JDK(Java Development Kit)를 설치합니다.
sudo yum install -y java-devel
-
AWS SDK for Java(
.zip
파일)를 다운로드한 후 압축을 풉니다.wget http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip unzip aws-java-sdk.zip
-
최신 버전의 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 종속 항목으로 사용 단원을 참조하십시오.
-
CLASSPATH
변수를 설정합니다. 이 예제에서는
을 AWS SDK for Java의 실제 버전 번호로 바꿉니다(예:sdkVersion
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/* -
샘플 프로그램 소스 코드(
.zip
파일)를 다운로드합니다.wget http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/samples/TryDax.zip
다운로드가 완료되면 소스 파일의 압축을 풉니다.
unzip TryDax.zip
-
Java 코드 디렉터리로 이동하여 다음과 같이 코드를 컴파일합니다.
cd TryDax/java/ javac TryDax*.java
-
프로그램을 실행합니다.
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
,Query
및Scan
테스트에 필요한 시간 정보(밀리초)를 기록해 둡니다. -
전 단계에서 DynamoDB 엔드포인트에 대해 프로그램을 실행했습니다. 이제 프로그램을 다시 실행하되, 이번에는
GetItem
,Query
및Scan
작업을 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 종속 항목으로 사용하려면
-
Apache Maven을 다운로드하고 설치합니다. 자세한 내용은 Downloading Apache Maven
및 Installing Apache Maven 을 참조하세요. -
애플리케이션의 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>