Accelerazione in memoria con DynamoDB Accelerator () 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à.

Accelerazione in memoria con DynamoDB Accelerator () DAX

Amazon DynamoDB è progettato per dimensionamento e prestazioni. Nella maggior parte dei casi, i tempi di risposta di DynamoDB possono essere misurati nell'ordine di millisecondi a una cifra. Tuttavia, alcuni casi d'uso richiedono tempi di risposta nell'ordine di microsecondi. Per questi casi d'uso, DynamoDB Accelerator DAX () offre tempi di risposta rapidi per accedere a dati eventualmente coerenti.

DAXè un servizio di caching compatibile con DynamoDB che consente di beneficiare di prestazioni rapide in memoria per applicazioni esigenti. DAXaffronta tre scenari principali:

  1. Come cache in-memory, DAX riduce in misura esponenziale i tempi di risposta dei carichi di lavoro di lettura consistente finale, da millisecondi a una cifra a microsecondi.

  2. DAXriduce la complessità operativa e applicativa fornendo un servizio gestito API compatibile con DynamoDB. e di conseguenza richiede solo modifiche funzionali minime per l'uso con un'applicazione esistente.

  3. Per carichi di lavoro gravosi in lettura o con lunghi intervalli di inattività, DAX offre throughput maggiore e possibili risparmi sui costi operativi riducendo la necessità di un provisioning eccessivo di unità di capacità in lettura. Questa caratteristica è particolarmente vantaggiosa per le applicazioni che richiedono letture ripetute per singole chiavi.

DAX supporta la crittografia lato server. Con la crittografia inattiva, i dati persistenti di DAX su disco verranno crittografati. DAX scrive i dati su disco come parte della propagazione delle modifiche dal nodo primario per leggere le repliche. Per ulteriori informazioni, consulta DAXcrittografia a riposo.

DAXsupporta anche la crittografia in transito, garantendo che tutte le richieste e le risposte tra l'applicazione e il cluster siano crittografate mediante sicurezza a livello di trasporto (TLS) e che le connessioni al cluster possano essere autenticate mediante la verifica di un certificato x509 del cluster. Per ulteriori informazioni, consulta Crittografia DAX in transito.

Casi d'uso per DAX

DAXfornisce l'accesso a dati eventualmente coerenti dalle tabelle DynamoDB, con una latenza di microsecondi. Un cluster DAX AZ multiplo può gestire milioni di richieste al secondo.

DAX è ideale per i seguenti tipi di applicazioni:

  • Applicazioni che richiedono il tempo di risposta minore possibile per le letture. Questo può accadere, ad esempio, nel caso di un'offerta in tempo reale di videogiochi, social e trading applicazioni. DAX offre elevate prestazioni di lettura in memoria per questi casi d'uso.

  • Applicazioni che leggono un numero ridotto di item più spesso di altri. Ad esempio, considera un sistema di e-commerce che organizza la vendita per un solo giorno di un prodotto molto richiesto. Durante la vendita, la richiesta del prodotto (e dei relativi dati in DynamoDB) aumenta nettamente rispetto a tutti gli altri prodotti. Per ridurre gli impatti di una chiave con accesso troppo frequente e una distribuzione non uniforme del traffico, puoi eseguire l'offload dell'attività di lettura in una cache DAX fino al termine della vendita della durata di un giorno.

  • Applicazioni con attività di lettura intensiva, ma anche sensibili ai costi. Con DynamoDB, è possibile assegnare il numero di letture al secondo richieste dall'applicazione. Se l'attività di lettura aumenta, puoi aumentare il throughput di lettura assegnato delle tabelle (a un costo aggiuntivo). Oppure, puoi eseguire l'offload dell'attività dall'applicazione a un cluster DAX e ridurre il numero di unità di capacità in lettura che dovresti altrimenti acquistare.

  • Applicazioni che richiedono letture ripetute su set di dati di grandi dimensioni. Un'applicazione di questo tipo può sottrarre risorse del database ad altre applicazioni. Ad esempio, un'analisi a esecuzione prolungata dei dati meteo regionali può temporaneamente utilizzare tutta la capacità di lettura di una tabella DynamoDB. e di conseguenza avere un impatto negativo sulle applicazioni che devono poter accedere agli stessi dati. Con DAX, l'analisi dei dati meteo può invece essere eseguita su dati memorizzati nella cache.

DAX non è ideale per i seguenti tipi di applicazioni:

  • Applicazioni che richiedono letture consistenti assolute o che non possono tollerare letture consistenti finali.

  • Applicazioni che non richiedono tempi di risposta nell'ordine di microsecondi per le letture o che non devono eseguire l'offload di attività di lettura ripetute dalle tabelle sottostanti.

  • Applicazioni che richiedono un uso intensivo di scrittura. Un volume elevato di scritture porta a una maggiore replica tra DAX i nodi di un cluster. Ciò causa un maggiore consumo di risorse e il rischio di problemi di disponibilità.

  • Applicazioni senza molte letture ripetute. DAXoffre prestazioni ottimali quando i tassi di accesso alla cache superano il 90%. Le percentuali di accesso alla cache più basse aumentano gli errori nella cache, il che consuma più risorse in tutto il DAX cluster.

DAXnote sull'utilizzo

  • Per un elenco delle AWS regioni in cui DAX è disponibile, consulta i prezzi di Amazon DynamoDB.

  • DAXsupporta applicazioni scritte in Go, Java, Node.js, Python e. NET, utilizzando AWS client forniti per tali linguaggi di programmazione.

  • DAXè disponibile solo per la VPC piattaforma EC2 -.

  • La politica del ruolo del servizio DAX cluster deve consentire l'dynamodb:DescribeTableazione per mantenere i metadati sulla tabella DynamoDB.

  • I cluster DAX mantengono i metadati sui nomi degli attributi degli item da archiviare e tali metadati sono mantenuti a tempo indeterminato (anche dopo che l'item è scaduto o è stato eliminato dalla cache). Le applicazioni che utilizzano un numero illimitato di nomi di attributi possono col tempo causare il riempimento totale della memoria nel cluster DAX. Questo limite si applica solo ai nomi di attributi di primo livello, non ai nomi di attributi nidificati. Esempi di nomi di attributi di primo livello problematici includono timestamp e session. UUIDs IDs

    Questo limite si applica solo ai nomi di attributi, non ai loro valori. Item simile al seguente non sono un problema.

    { "Id": 123, "Title": "Bicycle 123", "CreationDate": "2017-10-24T01:02:03+00:00" }

    Ma item simili al seguente sono un problema se sono in numero sufficiente e ciascuno ha un timestamp diverso.

    { "Id": 123, "Title": "Bicycle 123", "2017-10-24T01:02:03+00:00": "created" }