Throughput massimo di DynamoDB per le tabelle on demand
Per le tabelle on demand, è possibile specificare il throughput massimo di lettura o scrittura (o entrambe) al secondo per singole tabelle e indici secondari globali (GSI) associati. La specificazione di un throughput massimo on demand aiuta a mantenere limitati l’utilizzo e i costi a livello di tabella. Per impostazione predefinita, le impostazioni di throughput massimo non vengono applicate e la velocità di throughput on demand è limitata da una quota di servizio AWS di throughput di lettura e scrittura a livello di tabella di 40.000 per tutte le tabelle dell’account. Se necessario, è possibile richiedere un aumento della quota di servizio.
Quando si configura il throughput massimo per una tabella on demand, le richieste di throughput che superano la quantità massima specificata verranno sottoposte a limitazione (della larghezza di banda della rete). È possibile modificare il throughput massimo a livello di tabella in qualsiasi momento in base ai requisiti dell’applicazione.
Di seguito sono riportati alcuni casi d’uso comuni in cui è possibile trarre vantaggio dall’utilizzo del throughput massimo per le tabelle on demand:
-
Ottimizzazione dei costi di throughput: l’utilizzo del throughput massimo per le tabelle on demand offre un ulteriore livello di prevedibilità e gestibilità dei costi. Inoltre, offre una maggiore flessibilità nell’utilizzo della modalità on demand per supportare carichi di lavoro con modelli di traffico e budget diversi.
-
Protezione dall’uso eccessivo: impostando il throughput massimo è possibile prevenire un aumento accidentale dell’utilizzo di lettura o scrittura, che potrebbe derivare da codice non ottimizzato o processi non autorizzati, rispetto a una tabella on demand. Questa impostazione a livello di tabella può proteggere le organizzazioni dall’utilizzo eccessivo di risorse entro un determinato periodo di tempo.
-
Protezione dei servizi a valle: un’applicazione del cliente può includere tecnologie serverless e non serverless. L’architettura serverless può scalare rapidamente per soddisfare la domanda. Tuttavia, i componenti a valle con capacità fisse potrebbero risultare sovraccaricati. L’implementazione delle impostazioni di throughput massimo per le tabelle on demand può impedire la propagazione di grandi volumi di eventi a più componenti a valle con effetti collaterali imprevisti.
È possibile configurare il throughput massimo per la modalità on demand per tabelle a Regione singola, tabelle globali e GSI nuovi ed esistenti. È possibile anche configurare il throughput massimo durante il ripristino delle tabelle e l’importazione dei dati dai flussi di lavoro di Amazon S3.
È possibile specificare le impostazioni di throughput massimo per una tabella on demand utilizzando la console DynamoDB
Nota
Il throughput massimo per una tabella on demand viene applicato sulla base del principio del massimo impegno e dovrebbe essere considerato un obiettivo, anziché un massimale di richieste garantito. Il carico di lavoro potrebbe superare temporaneamente il throughput massimo specificato a causa della capacità di espansione. In alcuni casi, DynamoDB utilizza la capacità di espansione per accettare letture o scritture eccedenti rispetto alle impostazioni di throughput massimo della tabella. Con la capacità supplementare, le richieste di lettura o scrittura impreviste possono avere esito positivo anziché essere sottoposte a throttling.
Argomenti
Considerazioni relative all’utilizzo del throughput massimo per la modalità on demand
Quando si utilizza il throughput massimo per le tabelle in modalità on demand, si applicano le seguenti considerazioni:
-
È possibile impostare in modo indipendente il throughput massimo per le letture e le scritture per qualsiasi tabella on demand o per un singolo indice secondario globale all’interno di tale tabella per ottimizzare l’approccio in base a requisiti specifici.
-
È possibile utilizzare Amazon CloudWatch per monitorare e comprendere le metriche di utilizzo a livello di tabella di DynamoDB e per determinare le impostazioni di throughput massimo appropriate per la modalità on demand. Per ulteriori informazioni, consulta Parametri e dimensioni di DynamoDB.
-
Quando si specificano le impostazioni di throughput massimo di lettura o scrittura (o entrambe) su una replica di una tabella globale, le stesse impostazioni di throughput massimo vengono applicate automaticamente a tutte le tabelle di replica. Per garantire la corretta replica dei dati è necessario che le tabelle di replica e gli indici secondari in una tabella globale abbiano impostazioni di throughput di scrittura identiche. Per ulteriori informazioni, consulta Best practice per le tabelle globali.
-
Il throughput massimo di lettura o scrittura più piccolo che è possibile specificare è un’unità di richiesta al secondo.
-
Il throughput massimo specificato deve essere inferiore alla quota di throughput predefinita disponibile per qualsiasi tabella on demand o singolo indice secondario globale all’interno di tale tabella.
Limitazione (della larghezza di banda della rete) delle richieste e metriche CloudWatch
Se l’applicazione supera il throughput massimo di lettura o scrittura impostato nella tabella on demand, DynamoDB inizia a limitare la larghezza di banda della rete di tali richieste. Quando DynamoDB limita una lettura o una scrittura, restituisce una ThrottlingException al chiamante. È quindi possibile intraprendere le azioni appropriate, se necessario. Ad esempio, è possibile aumentare o disabilitare l’impostazione del throughput massimo della tabella o attendere un breve intervallo prima di ritentare la richiesta.
Per semplificare il monitoraggio del throughput massimo configurato per una tabella o un indice secondario globale, CloudWatch fornisce le seguenti metriche: OnDemandMaxReadRequestUnits e OnDemandMaxWriteRequestUnits.