DAX を AWS SDK for Java 1.x で使用する - Amazon DynamoDB

DAX を AWS SDK for Java 1.x で使用する

この手順に従って、Amazon EC2 インスタンスで Amazon DynamoDB Accelerator (DAX) の Java サンプルを実行します。

注記

これらの手順は、AWS SDK for Java 1.x を使用するアプリケーション向けです。AWS SDK for Java 2.x を使用するアプリケーションの場合は、「Java および DAX」を参照してください。

DAX の Java サンプルを実行するには
  1. Java 開発キット (JDK) をインストールします。

    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.

    タイミング情報を書き留めます。これは GetItemQueryScan テストに必要なミリ秒の数字です。

  8. 前のステップで、DynamoDB エンドポイントに対してプログラムを実行しました。ここでプログラムを再度実行しますが、今度は GetItemQueryScan オペレーションが DAX クラスターによって処理されます。

    DAX クラスターのエンドポイントを確認するには、次のいずれかを選択します。

    • 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

    出力の残りの部分を見て、タイミング情報を書き留めます。GetItemQuery および Scan の経過時間は、DynamoDB を使用した場合より DAX を使用した方が大幅に低いはずです。

このプログラムの詳細については、以下のセクションを参照してください。

クライアントを Apache Maven 依存関係として使用する

これらのステップに従って、アプリケーションで DAX SDK for Java のクライアントを依存関係として使用します。

クライアントを Maven 依存関係として使用するには
  1. Apache Maven をダウンロードし、インストールします。詳細については、「Apache Maven のダウンロード」および「Apache Maven のインストール」を参照してください。

  2. Maven 依存関係クライアントをアプリケーションのプロジェクトオブジェクトモデル (POM) ファイルに追加します。この例では、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>