Uso do DAX com o AWS SDK for Java 1.x - Amazon DynamoDB

Uso do DAX com o AWS SDK for Java 1.x

Siga este procedimento para executar o exemplo de Java para o Amazon DynamoDB Accelerator (DAX) na instância do Amazon EC2.

nota

Estas instruções destinam-se a aplicações que usam o AWS SDK for Java 1.x. Para aplicações que usam o AWS SDK for Java 2.x, consulte Java e DAX.

Como executar o exemplo de Java para DAX
  1. Instale o Java Development Kit (JDK).

    sudo yum install -y java-devel
  2. Faça download do AWS SDK for Java (arquivo .zip) e extraia-o.

    wget http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip unzip aws-java-sdk.zip
  3. Baixe a versão mais recente do cliente Java do DAX (arquivo .jar).

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

    O cliente do SDK for Java do DAX está disponível no Apache Maven. Para ter mais informações, consulte Usar o cliente como dependência do Apache Maven.

  4. Defina a variável CLASSPATH. Neste exemplo, substitua sdkVersion pelo número da versão atual do AWS SDK for Java (por exemplo, 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. Baixe o código-fonte do programa de exemplo (arquivo .zip).

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

    Quando o download for concluído, extraia os arquivos de origem.

    unzip TryDax.zip
  6. Navegue até o diretório de código Java e compile o código conforme descrito a seguir.

    cd TryDax/java/ javac TryDax*.java
  7. Execute o programa.

    java TryDax

    Você deve ver saída semelhante ao seguinte:

    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.

    Anote as informações de tempo: o número de milissegundos necessários para os testes GetItem, Query e Scan.

  8. Na etapa anterior, você executou o programa no endpoint do DynamoDB. Agora, execute o programa novamente, mas, desta vez, as operações GetItem, Query e Scan são processadas pelo cluster do DAX.

    Para determinar o endpoint do cluster do DAX, escolha uma das seguintes opções:

    • Usando o console do DynamoDB: escolha seu cluster do DAX. O endpoint do cluster é mostrado no console, como no exemplo a seguir.

      dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
    • Usando a AWS CLI: insira o comando a seguir.

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

      O endpoint do cluster é mostrado na saída, como no exemplo a seguir.

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

    Agora execute o programa novamente, mas, desta vez, especifique o endpoint do cluster como um parâmetro de linha de comando.

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

    Observe o restante da saída e anote as informações de tempo. Os tempos decorridos para GetItem, Query e Scan devem ser significativamente mais baixos com o DAX do que com o DynamoDB.

Para obter mais informações sobre esse programa, consulte as seguintes seções:

Usar o cliente como dependência do Apache Maven

Siga estas etapas para usar o cliente do SDK do DAX para Java em seu aplicativo como uma dependência.

Como usar o cliente como uma dependência do Maven
  1. Faça download do Apache Maven e instale-o. Para obter mais informações, consulte Download do Apache Maven e Instalação do Apache Maven.

  2. Adicione a dependência do cliente Maven ao arquivo Project Object Model (POM) da aplicação. Neste exemplo, substitua x.x.x.x pelo número da versão real do cliente (por exemplo, 1.0.200704.0).

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