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à.
Amazon DynamoDB Accelerator DAX () è progettato per funzionare all'interno di un ambiente Amazon Virtual Private Cloud (Amazon). VPC Il VPC servizio Amazon definisce una rete virtuale che assomiglia molto a un data center tradizionale. Con aVPC, hai il controllo sull'intervallo di indirizzi IP, sulle sottoreti, sulle tabelle di routing, sui gateway di rete e sulle impostazioni di sicurezza. Puoi avviare un DAX cluster nella tua rete virtuale e controllare l'accesso al cluster utilizzando i gruppi di VPC sicurezza di Amazon.
Nota
Se hai creato il tuo AWS account dopo il 4 dicembre 2013, hai già un account predefinito VPC in ogni AWS regione. VPCÈ pronto per l'uso immediato, senza dover eseguire alcuna procedura di configurazione aggiuntiva.
Per ulteriori informazioni, consulta la sezione Sottoreti predefinite VPC e predefinite nella Amazon VPC User Guide.
Il seguente diagramma mostra una panoramica di alto livello di DAX.

Per creare un cluster DAX usi la AWS Management Console. Se non diversamente specificato, il DAX cluster viene eseguito con i valori predefinitiVPC. Per eseguire l'applicazione, è necessario avviare un'EC2istanza Amazon in AmazonVPC. Quindi distribuisci l'applicazione (con il DAX client) sull'EC2istanza.
In fase di esecuzione, il DAX client indirizza tutte le richieste API DynamoDB dell'applicazione al cluster. DAX Se DAX è in grado di elaborare direttamente una di queste API richieste, lo fa. In caso contrario, passerà la richiesta a DynamoDB.
Infine, il cluster DAX restituisce i risultati alla tua applicazione.
Come DAX elabora le richieste
Un cluster DAX è costituito da uno o più nodi. Ogni nodo esegue la propria istanza del software di cache DAX. Uno dei nodi funge da nodo principale per il cluster. I nodi aggiuntivi (se presenti) servono da repliche di lettura. Per ulteriori informazioni, consulta Nodi.
La tua applicazione può accedere a DAX specificando l'endpoint per il cluster DAX. Il software client DAX funziona con l'endpoint del cluster per eseguire l'instradamento e il bilanciamento del carico intelligente.
Operazioni di lettura
DAXpuò rispondere alle seguenti API chiamate:
-
GetItem
-
BatchGetItem
-
Query
-
Scan
Se la richiesta specifica letture consistenti finali (comportamento predefinito), cerca di leggere l'item da DAX:
-
Se l'elemento DAX è disponibile (un hit nella cache), DAX restituisce l'elemento all'applicazione senza accedere a DynamoDB.
-
Se l'elemento DAX non è disponibile (una cache mancante), DAX passa la richiesta a DynamoDB. Quando riceve la risposta da DynamoDBDAX, restituisce i risultati all'applicazione. e li scrive nella cache del nodo primario.
Nota
Se ci sono delle repliche di lettura nel cluster, DAX mantiene automaticamente le repliche sincronizzate con il nodo primario. Per ulteriori informazioni, consulta Cluster.
Se la richiesta specifica letture fortemente coerenti, DAX passa la richiesta a DynamoDB. I risultati di DynamoDB non vengono memorizzati nella cache. DAX ma vengono restituiti all'applicazione.
Operazioni di scrittura
Le seguenti DAX API operazioni sono considerate «scritture»:
-
BatchWriteItem
-
UpdateItem
-
DeleteItem
-
PutItem
Con queste operazioni, i dati vengono prima scritti nella tabella DynamoDB e quindi nel cluster. DAX L'operazione ha esito positivo solo se i dati vengono scritti sia sulla tabella che in DAX.
Altre operazioni
DAXnon riconosce alcuna operazione di DynamoDB per la gestione delle tabelle (ad esempioUpdateTable
, e CreateTable
così via). Se l'applicazione deve eseguire queste operazioni, deve accedere direttamente a DynamoDB anziché utilizzarla. DAX
Per informazioni dettagliate sulla coerenza DAX di DynamoDB, vedere. DAXe modelli di coerenza DynamoDB
Per informazioni sul funzionamento delle transazioni in DAX, consulta Utilizzo delle transazioni in APIs DynamoDB Accelerator (DAX).
Limitazione del tasso di richiesta
Se il numero di richieste inviate DAX supera la capacità di un nodo, DAX limita la velocità con cui il nodo accetta richieste aggiuntive restituendo un. ThrottlingException DAXvaluta continuamente l'CPUutilizzo per determinare il volume di richieste che può elaborare mantenendo uno stato integro del cluster.
Puoi monitorare la ThrottledRequestCount metrica DAX pubblicata su Amazon. CloudWatch Se queste eccezioni vengono visualizzate regolarmente, è consigliabile prendere in considerazione la possibilità di aumentare la dimensione del cluster.
Cache degli elementi
DAX gestisce una cache degli item per memorizzare i risultati delle operazioni GetItem
e BatchGetItem
. Gli elementi nella cache rappresentano i dati a consistenza finale da DynamoDB e sono archiviati in base ai rispettivi valori delle chiavi primarie.
Quando un'applicazione invia una richiesta GetItem
o BatchGetItem
, DAX cerca di leggere gli item direttamente dalla cache degli item utilizzando i valori delle chiavi specificati. Se gli item vengono trovati (hit della cache), DAX li restituisce immediatamente all'applicazione. Se gli elementi non vengono trovati (cache mancante), DAX invia la richiesta a DynamoDB. DynamoDB elabora le richieste utilizzando letture eventualmente coerenti e restituisce gli elementi a. DAX DAXli memorizza nella cache degli elementi e poi li restituisce all'applicazione.
La cache degli elementi ha un'impostazione Time to Live (TTL), che per impostazione predefinita è di 5 minuti. DAXassegna un timestamp a ogni elemento che scrive nella cache degli elementi. Un elemento scade se è rimasto nella cache più a lungo dell'impostazione. TTL Se si invia una GetItem
richiesta su un elemento scaduto, questa operazione viene considerata una perdita nella cache e DAX invia la GetItem
richiesta a DynamoDB.
Nota
È possibile specificare l'TTLimpostazione per la cache degli elementi quando si crea un nuovo cluster. DAX Per ulteriori informazioni, consulta Gestione dei cluster DAX .
DAXmantiene anche un elenco degli elementi utilizzati meno di recente (LRU) per la cache degli elementi. L'LRUelenco tiene traccia della data in cui un elemento è stato scritto per la prima volta nella cache e dell'ultima lettura dalla cache. Se la cache degli item si riempie, DAX elimina gli item più vecchi (anche se non sono ancora scaduti) per fare spazio a nuovi item. L'LRUalgoritmo è sempre abilitato per la cache degli elementi e non è configurabile dall'utente.
Per informazioni dettagliate sulla coerenza della cache degli item in DAX, consulta DAXcomportamento della cache degli elementi.
Cache delle query
DAX gestisce anche una cache delle query per memorizzare i risultati delle operazioni Query
e Scan
. Gli elementi in questa cache rappresentano set di risultati da query e scansioni delle tabelle DynamoDB. Questi set di risultati sono memorizzati in base ai rispettivi valori dei parametri.
Quando un'applicazione invia una richiesta Query
o Scan
, DAX cerca di leggere un set di risultati corrispondente dalla cache delle query utilizzando i valori dei parametri specificati. Se il set di risultati viene trovato (hit della cache), DAX lo restituisce immediatamente all'applicazione. Se il set di risultati non viene trovato (cache mancante), DAX invia la richiesta a DynamoDB. DynamoDB elabora le richieste utilizzando letture eventualmente coerenti e restituisce il set di risultati su. DAX DAXlo memorizza nella cache delle query e poi lo restituisce all'applicazione.
Nota
È possibile specificare l'TTLimpostazione per la cache delle query quando si crea un nuovo DAX cluster. Per ulteriori informazioni, consulta Gestione dei cluster DAX .
DAXmantiene anche un LRU elenco per la cache delle query. L'elenco monitora quando un set di risultati è stato scritto per la prima volta nella cache e quando il risultato è stato letto l'ultima volta dalla cache. Se la cache delle query si riempie, DAX elimina i set di risultati più vecchi (anche se non sono ancora scaduti) per fare spazio a nuovi set di risultati. L'LRUalgoritmo è sempre abilitato per la cache delle query e non è configurabile dall'utente.
Se si specifica zero come TTL impostazione della cache delle query, la risposta alla query non verrà memorizzata nella cache.
Per informazioni dettagliate sulla coerenza della cache delle query in DAX, consulta DAXcomportamento della cache delle query.