Java e DAX - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Java e DAX

SDK per Java 2.x per DAX è compatibile con AWS SDK per Java 2.x. È basato su Java 8+ e include il supporto per I/O non bloccanti. Per informazioni sull'utilizzo di DAX con SDK for AWS Java 1.x, consulta Uso di DAX con AWS SDK per Java 1.x

Utilizzo del client come dipendenza Maven

Segui queste fasi per utilizzare il client per l'SDK DAX per Java nella tua applicazione come una dipendenza:

  1. Scarica e installa Apache Maven. Per ulteriori informazioni, consulta le pagine relative al download di Apache Maven e all'installazione di Apache Maven.

  2. Aggiungi la dipendenza Maven client al file POM (Project Object Model) dell'applicazione. In questo esempio, sostituire x.x.x con il numero effettivo della versione del client.

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

TryDax codice di esempio

Dopo aver configurato il workspace e aggiunto l'SDK DAX come dipendenza, copiare TryDax.java nel progetto.

Eseguire il codice utilizzando questo comando.

java -cp classpath TryDax

Verrà visualizzato un output simile al seguente.

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.

Prendi nota delle informazioni sui tempi: il numero di millisecondi richiesto per i test GetItem e Query. In questo caso, il programma è stato eseguito sull'endpoint DynamoDB. Ora eseguirai di nuovo il programma, questa volta rispetto al cluster DAX.

Per determinare l'endpoint per il cluster DAX, scegli una delle seguenti opzioni:

  • Nella console DynamoDB, seleziona il cluster DAX. L'endpoint del cluster viene visualizzato nella console, come nell'esempio seguente.

    dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
  • Usando AWS CLI, inserisci il seguente comando:

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

    L'indirizzo, la porta e l'URL dell'endpoint del cluster vengono visualizzati nell'output, come nell'esempio seguente.

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

A questo punto, eseguire di nuovo il programma, ma questa volta specificare l'endpoint del cluster come parametro della riga di comando.

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

Consultare l'output e prendere nota delle informazioni sui tempi. I tempi trascorsi per GetItem e Query devono essere significativamente più bassi con DAX che con DynamoDB.

Parametri SDK

Con DAX SDK for Java 2.x, puoi raccogliere metriche sui client di servizio nella tua applicazione e analizzare l'output in Amazon. CloudWatch Per ulteriori informazioni, consulta Abilitazione dei parametri SDK.

Nota

L'SDK DAX per Java raccoglie solo le metriche ApiCallSuccessful e ApiCallDuration.