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à con capacità allocata di DynamoDB
Quando si crea una nuova tabella con provisioning in DynamoDB, è necessario specificare la capacità di throughput allocata, che è la quantità di throughput di lettura e scrittura che la tabella può supportare. L’addebito avverrà in base alla capacità oraria di lettura e scrittura allocata, non alla quantità di quella capacità allocata effettivamente utilizzata.
Con il cambiamento dei requisiti di accesso e dati dell’applicazione, può essere necessario modificare le impostazioni di throughput della tabella. È possibile utilizzare il dimensionamento automatico per regolare automaticamente la capacità assegnata della tabella in risposta alle modifiche del traffico. Il dimensionamento automatico di DynamoDB utilizza una policy di dimensionamento in Application Auto Scaling. Per configurare il dimensionamento automatico in DynamoDB, si impostano i livelli minimo e massimo di capacità di lettura e scrittura oltre alla percentuale di utilizzo di destinazione. Application Auto Scaling crea e gestisce gli CloudWatch allarmi che attivano gli eventi di scalabilità quando la metrica si discosta dall'obiettivo. Il dimensionamento automatico monitora l’attività della tabella e ne aumenta o diminuisce le impostazioni di capacità in base a soglie preconfigurate. La scalabilità automatica si attiva quando la capacità consumata supera l'utilizzo previsto configurato per due minuti consecutivi. CloudWatch gli allarmi potrebbero avere un breve ritardo, fino a qualche minuto, prima di attivare il ridimensionamento automatico. Per ulteriori informazioni, consulta Gestione automatica della capacità effettiva di trasmissione con il dimensionamento automatico di DynamoDB.
Se si utilizza la scalabilità automatica di DynamoDB, le impostazioni di velocità effettiva vengono modificate automaticamente in base ai carichi di lavoro effettivi. Puoi anche utilizzare l'operazione UpdateTable per modificare la capacità di throughput della tabella manualmente. Ad esempio, questa potrebbe essere la scelta opportuna se si ha necessità 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.
Nota
Per impostazione predefinita, DynamoDB protegge da un utilizzo indesiderato e incontrollato. Per scalare i limiti di throughput di lettura e scrittura a livello di tabella di 40.000 per tutte le tabelle dell’account, è possibile richiedere un aumento di questa quota. Le richieste di throughput che superano la quota di throughput predefinito della tabella sono sottoposte a limitazione (della larghezza di banda della rete). Per ulteriori informazioni, consulta Quote predefinite della velocità di trasmissione effettiva.
È possibile cambiare le tabelle dalla modalità con capacità allocata alla modalità on demand fino a quattro volte in una finestra variabile di 24 ore. È possibile passare le tabelle dalla modalità on demand alla modalità con capacità allocata in qualsiasi momento.
Per ulteriori informazioni sul passaggio dalla modalità di capacità di lettura a quella di scrittura, consulta Considerazioni sul passaggio tra modalità di capacità in DynamoDB.
Argomenti
Unità di capacità in lettura e unità di capacità in scrittura
Per le tabelle con modalità con provisioning, è possibile specificare i requisiti di throughput in termini di unità di capacità. Queste unità rappresentano la quantità di dati che un’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 di dimensioni fino a 4 KB, un’unità di richiesta di lettura (RCU, Read Capacity Unit) rappresenta un’operazione a elevata consistenza di lettura al secondo o due operazioni di lettura a coerenza finale al secondo. Per ulteriori informazioni sui modelli di consistenza di lettura di DynamoDB, consulta Coerenza di lettura di DynamoDB.
Un’unità di capacità di scrittura (WCU, Write Capacity Units) rappresenta una scrittura al secondo per un elemento di dimensioni fino a 1 KB. Per ulteriori informazioni sulle differenti operazioni di lettura e scrittura, consulta Operazioni di lettura e scrittura di DynamoDB.
Scelta delle impostazioni di velocità di trasmissione effettiva iniziali
Ogni applicazione ha requisiti diversi di lettura e scrittura da e su un database. Nella determinazione delle impostazioni di throughput iniziali per una tabella DynamoDB, tieni presente quanto segue:
-
Frequenze delle richieste di lettura e scrittura previste: è necessario stimare il numero di letture e scritture da eseguire al secondo.
-
Dimensioni degli elementi: alcuni elementi sono abbastanza piccoli da poter essere letti o scritti utilizzando una sola unità di capacità. Elementi più grandi richiedono più unità di capacità. Stimando le dimensioni medie degli elementi nella propria tabella è possibile specificare impostazioni accurate per il throughput allocato.
-
Requisiti di consistenza di lettura: le unità di capacità di lettura si basano su operazioni a elevata consistenza di lettura, che utilizzano il doppio delle risorse di database rispetto alle letture a coerenza finale. 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 sono a coerenza finale per impostazione predefinita. Se necessario, in questo caso è possibile richiedere operazioni a elevata consistenza di lettura.
Ad esempio, si supponga di voler leggere 80 elementi al secondo da una tabella. Gli elementi hanno una dimensione di 3 KB e si desiderano operazioni a elevata consistenza di lettura. In questo caso, ogni lettura richiede un’unità di capacità di lettura allocata. Per determinare questo numero, dividi la dimensione dell’elemento dell’operazione per 4 KB. Quindi, arrotonda per eccesso al numero intero più vicino, come mostrato nell’esempio seguente:
-
3 KB / 4 KB = 0,75 o 1 unità di capacità di lettura
Pertanto, per leggere 80 elementi al secondo da una tabella, imposta il throughput di lettura allocato della tabella su 80 unità di 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
Si supponga ora di voler scrivere 100 elementi al secondo nella tabella e che ogni elemento abbia una dimensione di 512 byte. In questo caso, ogni lettura richiede un’unità di capacità di scrittura allocata. Per determinare questo numero, dividi la dimensione dell’elemento dell’operazione per 1 KB. Quindi, arrotonda 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 nella tabella, imposta il throughput di scrittura allocato della tabella su 100 unità di 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
Il dimensionamento automatico di DynamoDB gestisce attivamente la capacità di throughput allocata per le 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 Console di gestione AWS 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ò aiutare a determinare se la capacità di provisioning è eccessiva, nel qual caso è opportuno ridurre la capacità della tabella per risparmiare sui costi. Al contrario, può anche aiutare a determinare se la capacità di provisioning è insufficiente. In questo caso, è consigliabile aumentare la capacità delle tabelle per evitare una potenziale limitazione (della larghezza di banda della rete) delle richieste durante istanze di traffico elevato impreviste. Per ulteriori informazioni, consulta Amazon DynamoDB auto scaling: Performance and cost optimization at any scale
In caso di utilizzo del dimensionamento automatico di DynamoDB, sarà anche necessario impostare una percentuale di utilizzo di destinazione. Il dimensionamento automatico utilizzerà questa percentuale come destinazione per aumentare o diminuire la capacità. Si consiglia di impostare l’utilizzo di destinazione al 70%. Per ulteriori informazioni, consulta Gestione automatica della capacità effettiva di trasmissione con il dimensionamento automatico di DynamoDB.