Modalità di capacità fornita da DynamoDB - 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à.

Modalità di capacità fornita da DynamoDB

Quando si crea una nuova tabella con provisioning in DynamoDB, è necessario specificare la capacità di throughput assegnata. Questa è la quantità di velocità effettiva di lettura e scrittura che la tabella può supportare. DynamoDB utilizza queste informazioni per garantire che vi siano risorse di sistema sufficienti a soddisfare i requisiti di throughput.

Facoltativamente, è possibile consentire la scalabilità automatica di DynamoDB per gestire la capacità di velocità effettiva della tabella. Per utilizzare il ridimensionamento automatico, è necessario fornire le impostazioni iniziali per la capacità di lettura e scrittura al momento della creazione della tabella. La scalabilità automatica di DynamoDB utilizza queste impostazioni iniziali come punto di partenza e poi le regola dinamicamente in base ai requisiti dell'applicazione. Per ulteriori informazioni, consulta Gestione automatica della capacità effettiva di trasmissione con il dimensionamento automatico di DynamoDB.

Man mano che i requisiti di accesso e dati dell'applicazione cambiano, potrebbe essere necessario modificare le impostazioni di throughput della tabella. Se si utilizza la scalabilità automatica di DynamoDB, le impostazioni di velocità effettiva vengono modificate automaticamente in base ai carichi di lavoro effettivi. È inoltre possibile utilizzare l'UpdateTableoperazione per regolare manualmente la capacità di throughput della tabella. Questa potrebbe essere la scelta opportuna se c'è bisogno di caricare in blocco i dati da un datastore esistente nella nuova tabella DynamoDB. Puoi creare la tabella con un'impostazione di throughput di scrittura elevata, per poi ridurla al termine del caricamento in blocco dei dati.

È possibile cambiare le tabelle dalla modalità su richiesta alla modalità di capacità assegnata in qualsiasi momento. Quando si effettuano più passaggi tra le modalità di capacità, si applicano le seguenti condizioni:

  • È possibile passare da una tabella appena creata in modalità on-demand alla modalità di capacità assegnata in qualsiasi momento. Tuttavia, è possibile tornare alla modalità on demand solo 24 ore dopo il timestamp di creazione della tabella.

  • È possibile passare da una tabella esistente in modalità on-demand alla modalità di capacità assegnata in qualsiasi momento. Tuttavia, è possibile tornare alla modalità on demand solo 24 ore dopo l'ultimo timestamp che indica il passaggio alla modalità on demand.

Per ulteriori informazioni sul passaggio dalla modalità di capacità di lettura a quella di scrittura, vedere. Considerazioni sulla commutazione delle modalità di capacità in DynamoDB

Unità di capacità in lettura e unità di capacità in scrittura

Per le tabelle in modalità provisioned, è necessario specificare i requisiti di throughput in termini di unità di capacità. Queste unità rappresentano la quantità di dati che l'applicazione deve leggere o scrivere al secondo. È possibile modificare queste impostazioni in un secondo momento, se necessario, o abilitare la scalabilità automatica di DynamoDB per la modifica automatica.

Per un elemento fino a 4 KB, un'unità di capacità di lettura (RCU) rappresenta un'operazione di lettura estremamente coerente al secondo o due operazioni di lettura eventualmente coerenti al secondo. Per ulteriori informazioni sui modelli di coerenza di lettura di DynamoDB, vedere. Coerenza di lettura di DynamoDB

Un'unità di capacità di scrittura (WCU) rappresenta una scrittura al secondo per un elemento fino a 1 KB. Per ulteriori informazioni sulle diverse operazioni di lettura e scrittura, vedereOperazioni di lettura e scrittura di DynamoDB.

Scelta delle impostazioni di velocità di trasmissione effettiva iniziali

Ogni applicazione ha requisiti diversi per la lettura e la scrittura in un database. Quando determini le impostazioni iniziali del throughput per una tabella DynamoDB, considera quanto segue:

  • Frequenze di richieste di lettura e scrittura previste: è necessario stimare il numero di letture e scritture da eseguire al secondo.

  • Dimensioni degli articoli: alcuni articoli sono sufficientemente piccoli da poter essere letti o scritti utilizzando un'unica unità di capacità. Elementi più grandi richiedono più unità di capacità. Stimando la dimensione media degli elementi che saranno presenti nella tabella, è possibile specificare impostazioni accurate per il throughput assegnato alla tabella.

  • Requisiti di coerenza di lettura: le unità di capacità di lettura si basano su operazioni di lettura estremamente coerenti, che consumano il doppio delle risorse del database rispetto alle letture coerenti. Devi determinare se l'applicazione richiede letture fortemente consistenti o se è possibile stabilire un requisito meno rigido ed eseguire invece letture consistenti finali. Le operazioni di lettura in DynamoDB alla fine sono coerenti, per impostazione predefinita. È possibile richiedere letture fortemente coerenti per queste operazioni, se necessario.

Ad esempio, supponiamo di voler leggere 80 elementi al secondo da una tabella. La dimensione di questi elementi è di 3 KB e desideri letture fortemente coerenti. In questo caso, ogni lettura richiede un'unità di capacità di lettura predisposta. Per determinare questo numero, dividi la dimensione dell'elemento dell'operazione per 4 KB. Quindi, arrotondate per eccesso al numero intero più vicino, come mostrato nell'esempio seguente:

  • 3 KB/ 4 KB = 0,75 o 1 unità con capacità di lettura

Pertanto, per leggere 80 elementi al secondo da una tabella, impostate la velocità effettiva di lettura fornita dalla tabella su 80 unità con capacità di lettura, come illustrato nell'esempio seguente:

  • 1 unità di capacità di lettura per elemento × 80 letture al secondo = 80 unità di capacità di lettura

Supponiamo ora di voler scrivere 100 elementi al secondo nella tabella e che la dimensione di ogni elemento sia di 512 byte. In questo caso, ogni scrittura richiede un'unità di capacità di scrittura predisposta. Per determinare questo numero, dividi la dimensione dell'elemento dell'operazione per 1 KB. Quindi, arrotondate per eccesso al numero intero più vicino, come mostrato nell'esempio seguente:

  • 512 byte/1 KB = 0,5 o 1 unità di capacità di scrittura

Per scrivere 100 elementi al secondo sulla tabella, imposta la velocità di scrittura assegnata alla tabella su 100 unità con capacità di scrittura:

  • 1 unità di capacità di scrittura per elemento × 100 scritture al secondo = 100 unità di capacità di scrittura

Scalabilità automatica di DynamoDB

La scalabilità automatica di DynamoDB gestisce attivamente la capacità di throughput assegnata per tabelle e indici secondari globali. Con l'Auto Scaling definisci un intervallo (limiti superiore e inferiore) per le unità di capacità in lettura e scrittura. È inoltre possibile definire una percentuale di utilizzo di destinazione all'interno di tale intervallo. La scalabilità automatica di DynamoDB cerca di mantenere l'utilizzo di destinazione, anche se il carico di lavoro dell'applicazione aumenta o diminuisce.

Con la scalabilità automatica di DynamoDB, una tabella o un indice secondario globale può aumentare la capacità in lettura e scrittura assegnata per gestire improvvisi aumenti di traffico senza che si verifichi alcuna limitazione delle richieste. Quando il carico di lavoro diminuisce, la scalabilità automatica di DynamoDB può ridurre la velocità effettiva in modo da non pagare per la capacità assegnata inutilizzata.

Nota

Se si utilizza il AWS Management Console per creare una tabella o un indice secondario globale, la scalabilità automatica di DynamoDB è abilitata per impostazione predefinita.

È possibile gestire le impostazioni di ridimensionamento automatico in qualsiasi momento utilizzando la console AWS CLI, il o uno dei AWS SDKs. Per ulteriori informazioni, consulta Gestione automatica della capacità effettiva di trasmissione con il dimensionamento automatico di DynamoDB.

Tasso di utilizzo

Il tasso di utilizzo può aiutarvi a determinare se la capacità di approvvigionamento è eccessiva, nel qual caso è opportuno ridurre la capacità della tabella per risparmiare sui costi. Al contrario, può anche aiutarti a determinare se la tua capacità di provisioning è insufficiente. In questo caso, è consigliabile aumentare la capacità delle tabelle per evitare una potenziale limitazione delle richieste durante istanze di traffico elevato impreviste. Per ulteriori informazioni, consulta Amazon DynamoDB auto scaling: ottimizzazione delle prestazioni e dei costi su qualsiasi scala.

Se utilizzi la scalabilità automatica di DynamoDB, dovrai anche impostare una percentuale di utilizzo target. La scalabilità automatica utilizzerà questa percentuale come obiettivo per aumentare o diminuire la capacità. Consigliamo di impostare l'obiettivo di utilizzo al 70%. Per ulteriori informazioni, consulta Gestione automatica della capacità effettiva di trasmissione con il dimensionamento automatico di DynamoDB.