Java e DAX - Amazon DynamoDB

Java e DAX

O DAX SDK para Java 2.x é compatível com o AWSSDK para Java 2.x. Ele foi criado com base no Java 8+ e inclui suporte a E/S sem bloqueio. Para obter informações sobre como usar o DAX com o AWS SDK para Java 1.x, consulte Uso do DAX com o AWS SDK for Java 1.x

Como usar o cliente como uma dependência do Maven

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

  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 pelo número da versão real do cliente.

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

Código de exemplo do TryDax

Depois de configurar seu espaço de trabalho e adicionar o DAX SDK como uma dependência, copieTryDax.java para seu projeto.

Execute o código usando este comando.

java -cp classpath 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 ... 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.

Anote as informações de tempo — o número de milissegundos necessários para os testes GetItem e Query. Neste caso, você executou o programa no endpoint do DynamoDB. Agora você executará o programa novamente, desta vez em seu cluster do DAX.

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

  • Usando o console do DynamoDB, selecione 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 seguir.

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

    A porta, o endereço e o URL do endpoint do cluster aparecem 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 URL do endpoint do cluster como um parâmetro de linha de comando.

java -cp classpath 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 e Query devem ser significativamente mais baixos com o DAX do que com o DynamoDB.

Métricas do SDK

Com o DAX SDK para Java 2.x, você pode coletar métricas sobre os clientes de serviço em sua aplicação e analisar a saída no Amazon CloudWatch. Consulte Habilitar métricas do SDK para obter mais informações.

nota

O DAX SDK para Java coleta somente métricas ApiCallSuccessful e ApiCallDuration.