

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à.

# Configura le modalità di read/write capacità in Amazon Keyspaces
<a name="ReadWriteCapacityMode"></a>

Amazon Keyspaces offre due modalità di read/write capacità per l'elaborazione di letture e scritture sulle tabelle: 
+  Su richiesta (impostazione predefinita) 
+  Assegnata 

 La modalità read/write di capacità scelta controlla il modo in cui ti viene addebitato il throughput di lettura e scrittura e come viene gestita la capacità di throughput della tabella. 

**Topics**
+ [Configura la modalità di capacità su richiesta](ReadWriteCapacityMode.OnDemand.md)
+ [Configura la modalità di capacità assegnata](ReadWriteCapacityMode.Provisioned.md)
+ [Visualizza la modalità di capacità di una tabella in Amazon Keyspaces](ReadWriteCapacityMode.ProvisionedThroughput.ManagingCapacity.md)
+ [Modifica la modalità di capacità di una tabella in Amazon Keyspaces](ReadWriteCapacityMode.SwitchReadWriteCapacityMode.md)
+ [Configurazione del preriscaldamento per le tabelle in Amazon Keyspaces](warm-throughput.md)

# Configura la modalità di capacità su richiesta
<a name="ReadWriteCapacityMode.OnDemand"></a>

La modalità di capacità *on demand* di Amazon Keyspaces (per Apache Cassandra) è un'opzione di fatturazione flessibile in grado di soddisfare migliaia di richieste al secondo senza pianificazione della capacità. Questa opzione offre pay-per-request prezzi per le richieste di lettura e scrittura in modo da pagare solo per ciò che usi. 

 Quando scegli la modalità on-demand, Amazon Keyspaces può scalare istantaneamente la capacità di throughput della tabella fino a qualsiasi livello di traffico raggiunto in precedenza, per poi ridurla quando il traffico delle applicazioni diminuisce. Se il livello di traffico di un carico di lavoro raggiunge un nuovo picco, il servizio si adatta rapidamente per aumentare la capacità di throughput della tabella. Puoi abilitare la modalità di capacità su richiesta sia per le tabelle nuove che per quelle esistenti.

La modalità su richiesta è una buona opzione se si verifica una delle seguenti condizioni: 
+ Si creano nuove tabelle con carichi di lavoro non noti. 
+ Si dispone di un traffico delle applicazioni non prevedibile. 
+ Si preferisce la facilità di pagamento per l’utilizzo effettivo. 

Per iniziare con la modalità on demand, puoi creare una nuova tabella o aggiornare una tabella esistente per utilizzare la modalità di capacità su richiesta utilizzando la console o con alcune righe di codice Cassandra Query Language (CQL). Per ulteriori informazioni, consulta [Tabelle](cql.ddl.table.md).

**Topics**
+ [Unità di richiesta di lettura e unità di richiesta di scrittura](#ReadWriteCapacityMode.requests)
+ [Proprietà di dimensionamento e picco di traffico](#ReadWriteCapacityMode.PeakTraffic)
+ [Velocità di trasmissione effettiva iniziale per la modalità di capacità on demand](#ReadWriteCapacityMode.InitialThroughput)

## Unità di richiesta di lettura e unità di richiesta di scrittura
<a name="ReadWriteCapacityMode.requests"></a>

 Con le tabelle in modalità di capacità on demand, non è necessario specificare in anticipo la velocità di lettura e scrittura che si prevede venga utilizzata dall'applicazione. Amazon Keyspaces ti addebita le spese di lettura e scrittura eseguite sulle tabelle in termini di unità di richiesta di lettura (RRUs) e unità di richiesta di scrittura (). WRUs 
+ Una *RRU* rappresenta una richiesta di `LOCAL_QUORUM` lettura o due richieste di ` LOCAL_ONE` lettura per una riga di dimensioni fino a 4 KB. Se è necessario leggere una riga di dimensioni superiori a 4 KB, l'operazione di lettura utilizza elementi aggiuntivi RRUs. Il numero totale di elementi RRUs richiesti dipende dalla dimensione della riga e dal fatto che si desideri utilizzare `LOCAL_QUORUM` o `LOCAL_ONE` leggere la coerenza. Ad esempio, per leggere una riga da 8 KB sono necessarie 2 unità che RRUs utilizzano la coerenza di `LOCAL_QUORUM` lettura e 1 RRU se si sceglie la coerenza di `LOCAL_ONE` lettura. 
+ Una *WRU* rappresenta una scrittura per una riga di dimensioni fino a 1 KB. Tutte le scritture utilizzano `LOCAL_QUORUM` la coerenza e non sono previsti costi aggiuntivi per l'utilizzo di transazioni leggere (LWTs). Se è necessario scrivere una riga più grande di 1 KB, l'operazione di scrittura utilizza elementi aggiuntivi WRUs. Il numero totale di WRUs elementi richiesti dipende dalla dimensione della riga. Ad esempio, se la dimensione della riga è di 2 KB, ne occorrono 2 WRUs per eseguire una richiesta di scrittura. 

Per informazioni sui livelli di coerenza supportati, vedere[Livelli di coerenza di lettura e scrittura supportati da Apache Cassandra e costi associati](consistency.md).

## Proprietà di dimensionamento e picco di traffico
<a name="ReadWriteCapacityMode.PeakTraffic"></a>

Le tabelle Amazon Keyspaces che utilizzano la modalità di capacità su richiesta si adattano automaticamente al volume di traffico dell'applicazione. La modalità di capacità on demand adatta automaticamente fino al doppio del precedente picco di traffico su una tabella. Ad esempio, lo schema di traffico dell'applicazione potrebbe variare tra 5.000 e 10.000 `LOCAL_QUORUM` letture al secondo, dove 10.000 letture al secondo era il picco di traffico precedente. 

Con questo modello, la modalità di capacità su richiesta consente di gestire istantaneamente un traffico sostenuto fino a 20.000 letture al secondo. Se l'applicazione registra un traffico di 20.000 letture al secondo, tale picco diventa il nuovo picco precedente, che consente al traffico successivo di raggiungere fino a 40.000 letture al secondo.

 Se hai bisogno di più del doppio del picco precedente su una tabella, Amazon Keyspaces alloca automaticamente più capacità all'aumentare del volume di traffico. Questo aiuta a garantire che la tabella abbia una capacità di throughput sufficiente per elaborare le richieste aggiuntive. Tuttavia, è possibile che si verifichino errori di capacità di throughput insufficiente se si supera il doppio del picco precedente entro 30 minuti. 

Ad esempio, supponete che lo schema di traffico dell'applicazione vari tra 5.000 e 10.000 letture al secondo con elevata coerenza, dove 20.000 letture al secondo rappresentavano il picco di traffico raggiunto in precedenza. In questo caso, il servizio consiglia di distanziare la crescita del traffico su almeno 30 minuti prima di aumentare fino a 40.000 letture al secondo. 

Per informazioni su come stimare il consumo di capacità di lettura e scrittura di una tabella, consulta. [Stima del consumo di capacità per la velocità effettiva di lettura e scrittura in Amazon Keyspaces](capacity-examples.md)

Per ulteriori informazioni sulle quote predefinite per il tuo account e su come aumentarle, consulta[Quote per Amazon Keyspaces (per Apache Cassandra)](quotas.md).

## Velocità di trasmissione effettiva iniziale per la modalità di capacità on demand
<a name="ReadWriteCapacityMode.InitialThroughput"></a>

Se crei una nuova tabella con la modalità di capacità su richiesta abilitata o passi una tabella esistente alla modalità di capacità su richiesta per la prima volta, la tabella presenta le seguenti impostazioni di picco precedenti, anche se in precedenza non serviva traffico utilizzando la modalità di capacità su richiesta:
+  **Tabella appena creata con modalità di capacità su richiesta:** il picco precedente era di 2.000 e 6.000. WRUs RRUs Puoi guidare immediatamente fino al doppio del picco precedente. In questo modo le tabelle on demand appena create possono servire fino a 4.000 WRUs e 12.000. RRUs 
+  **Tabella esistente passata alla modalità di capacità su richiesta:** il picco precedente è la metà del precedente WCUs ed è stato RCUs predisposto per la tabella o le impostazioni di una tabella appena creata con la modalità di capacità su richiesta, a seconda di quale sia la più alta. 

# Configura la modalità di capacità assegnata
<a name="ReadWriteCapacityMode.Provisioned"></a>

 Se scegli la modalità di capacità di *throughput* assegnata, specifichi il numero di letture e scritture al secondo necessarie per la tua applicazione. Questo ti aiuta a gestire l'utilizzo di Amazon Keyspaces in modo che rimanga pari o inferiore a una frequenza di richieste definita per mantenere la prevedibilità. Per ulteriori informazioni sulla scalabilità automatica per il throughput assegnato, consulta. [Gestisci automaticamente la capacità di throughput con la scalabilità automatica di Amazon Keyspaces](autoscaling.md) 

La modalità Provisioned Throughput Capacity è una buona opzione se si verifica una delle seguenti condizioni: 
+ Si dispone di un traffico delle applicazioni prevedibile. 
+ Si eseguono applicazioni il cui traffico è costante o si incrementa gradualmente. 
+ È possibile prevedere i requisiti di capacità.

## Unità di capacità in lettura e unità di capacità in scrittura
<a name="ReadWriteCapacityMode.Provisioned.Units"></a>

 Per le tabelle delle modalità di capacità di throughput assegnate, si specifica la capacità di throughput in termini di unità di capacità di lettura (RCUs) e unità di capacità di scrittura (): WCUs 
+ Una *RCU* rappresenta una `LOCAL_QUORUM` lettura al secondo, o due `LOCAL_ONE` letture al secondo, per una riga di dimensioni fino a 4 KB. Se è necessario leggere una riga di dimensioni superiori a 4 KB, l'operazione di lettura utilizza elementi aggiuntivi. RCUs 

  Il numero totale di elementi RCUs richiesti dipende dalla dimensione della riga e dal fatto che tu voglia `LOCAL_QUORUM` o `LOCAL_ONE` legga. Ad esempio, se la dimensione della riga è di 8 KB, ne occorrono 2 RCUs per supportare una `LOCAL_QUORUM` lettura al secondo e 1 RCU se si sceglie la modalità di lettura. `LOCAL_ONE` 
+ Una *WCU* rappresenta una scrittura al secondo per una riga di dimensioni fino a 1 KB. Tutte le scritture utilizzano `LOCAL_QUORUM` la coerenza e non sono previsti costi aggiuntivi per l'utilizzo di transazioni leggere ()LWTs. Se è necessario scrivere una riga più grande di 1 KB, l'operazione di scrittura utilizza elementi aggiuntivi WCUs. 

  Il numero totale di WCUs elementi richiesti dipende dalla dimensione della riga. Ad esempio, se la dimensione della riga è di 2 KB, ne occorrono 2 WCUs per supportare una richiesta di scrittura al secondo. Per ulteriori informazioni su come stimare il consumo di capacità di lettura e scrittura di una tabella, vedere[Stima del consumo di capacità per la velocità effettiva di lettura e scrittura in Amazon Keyspaces](capacity-examples.md).

Se l'applicazione legge o scrive righe più grandi (fino alla dimensione massima delle righe di Amazon Keyspaces di 1 MB), consuma più unità di capacità. Per ulteriori informazioni su come stimare la dimensione delle righe, consulta. [Stima della dimensione delle righe in Amazon Keyspaces](calculating-row-size.md) Si supponga, ad esempio, di creare una tabella predisposta con 6 RCUs e 6. WCUs Con queste impostazioni, la tua applicazione può eseguire le seguenti operazioni:
+ Esegue `LOCAL_QUORUM` letture fino a 24 KB al secondo (4 KB × 6). RCUs
+ Esegui `LOCAL_ONE` letture fino a 48 KB al secondo (il doppio della velocità di lettura).
+ Scrivi fino a 6 KB al secondo (1 KB × 6 WCUs).

 Il *throughput assegnato* è la quantità massima di capacità di throughput che un'applicazione può consumare da una tabella. Se l'applicazione supera la capacità di throughput assegnata, è possibile che si verifichino errori di capacità insufficiente. 

Ad esempio, una richiesta di lettura che non ha una capacità di throughput sufficiente ha esito negativo con un'`Read_Timeout`eccezione e viene registrata nella metrica. `ReadThrottleEvents` Una richiesta di scrittura che non ha una capacità di throughput sufficiente ha esito negativo con un'`Write_Timeout`eccezione e viene registrata nella metrica. `WriteThrottleEvents` 

Puoi utilizzare Amazon CloudWatch per monitorare le metriche di throughput fornite ed effettive e gli eventi di capacità insufficiente. Per ulteriori informazioni su questi parametri, consulta [Metriche e dimensioni di Amazon Keyspaces](metrics-dimensions.md). 

**Nota**  
Errori ripetuti dovuti a una capacità insufficiente possono portare a eccezioni specifiche dei driver lato client, ad esempio il DataStax driver Java non funziona con un. `NoHostAvailableException` 

Per modificare le impostazioni della capacità di throughput per le tabelle, è possibile utilizzare l'istruzione Console di gestione AWS o l'`ALTER TABLE`istruzione using CQL. Per ulteriori informazioni, vedere. [ALTER TABLE](cql.ddl.table.md#cql.ddl.table.alter)

Per ulteriori informazioni sulle quote predefinite per il tuo account e su come aumentarle, consulta. [Quote per Amazon Keyspaces (per Apache Cassandra)](quotas.md)

# Visualizza la modalità di capacità di una tabella in Amazon Keyspaces
<a name="ReadWriteCapacityMode.ProvisionedThroughput.ManagingCapacity"></a>

Puoi interrogare la tabella di sistema nello spazio delle chiavi di sistema Amazon Keyspaces per esaminare le informazioni sulla modalità di capacità relative a una tabella. Puoi anche verificare se una tabella utilizza la modalità di capacità di throughput su richiesta o fornita. Se la tabella è configurata con la modalità di capacità di throughput assegnata, è possibile visualizzare la capacità di throughput fornita per la tabella. 

È inoltre possibile utilizzare la AWS CLI per visualizzare la modalità di capacità di una tabella.

Per modificare la velocità effettiva assegnata a una tabella, vedere. [Modifica la modalità di capacità di una tabella in Amazon Keyspaces](ReadWriteCapacityMode.SwitchReadWriteCapacityMode.md)

------
#### [ Cassandra Query Language (CQL) ]

**Esempio**

```
SELECT * from system_schema_mcs.tables where keyspace_name = 'mykeyspace' and table_name = 'mytable';
```

Una tabella configurata con la modalità di capacità su richiesta restituisce quanto segue.

```
{
   "capacity_mode":{
      "last_update_to_pay_per_request_timestamp":"1579551547603",
      "throughput_mode":"PAY_PER_REQUEST"
   }
}
```

Una tabella configurata con la modalità di capacità di throughput assegnata restituisce quanto segue.

```
{
   "capacity_mode":{
      "last_update_to_pay_per_request_timestamp":"1579048006000",
      "read_capacity_units":"5000",
      "throughput_mode":"PROVISIONED",
      "write_capacity_units":"6000"
   }
}
```

Il `last_update_to_pay_per_request_timestamp` valore viene misurato in millisecondi.

------
#### [ CLI ]

Visualizza la modalità di capacità di throughput di una tabella utilizzando AWS CLI

```
aws keyspaces get-table --keyspace-name myKeyspace --table-name myTable
```

L'output del comando può essere simile a questo per una tabella in modalità di capacità fornita.

```
"capacitySpecification": {
        "throughputMode": "PROVISIONED",
        "readCapacityUnits": 4000,
        "writeCapacityUnits": 2000
    }
```

L'output di una tabella in modalità su richiesta è simile al seguente.

```
"capacitySpecification": {
        "throughputMode": "PAY_PER_REQUEST",
        "lastUpdateToPayPerRequestTimestamp": "2024-10-03T10:48:19.092000+00:00"
    }
```

------

# Modifica la modalità di capacità di una tabella in Amazon Keyspaces
<a name="ReadWriteCapacityMode.SwitchReadWriteCapacityMode"></a>

Quando passi una tabella dalla modalità di capacità fornita alla modalità di capacità su richiesta, Amazon Keyspaces apporta diverse modifiche alla struttura della tabella e delle partizioni. Questo processo può richiedere alcuni minuti. Durante il periodo di passaggio, la tabella offre un throughput coerente con gli importi di WCU e RCU precedentemente forniti. 

Quando si passa dalla modalità di capacità su richiesta alla modalità di capacità fornita, la tabella offre un throughput coerente con il picco precedente raggiunto quando la tabella era impostata sulla modalità di capacità su richiesta.

I seguenti periodi di attesa si applicano quando si cambia modalità di capacità:
+ È possibile passare da una tabella appena creata in modalità on demand alla modalità di capacità fornita 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 passare dalla modalità di capacità fornita a quella su richiesta solo una volta nell'arco di 24 ore.

------
#### [ Cassandra Query Language (CQL) ]

**Modifica la modalità di capacità di throughput di una tabella utilizzando CQL**

1. Per modificare la modalità di capacità di una tabella, è `PROVIOSIONED` necessario configurare le unità di capacità di lettura e scrittura in base ai valori di picco previsti del carico di lavoro. La seguente dichiarazione ne è un esempio. È inoltre possibile eseguire questa istruzione per regolare la capacità di lettura o le unità di capacità di scrittura della tabella.

   ```
   ALTER TABLE catalog.book_awards WITH CUSTOM_PROPERTIES={'capacity_mode':{'throughput_mode': 'PROVISIONED', 'read_capacity_units': 6000, 'write_capacity_units': 3000}};
   ```

   Per configurare la modalità di capacità fornita con auto-scaling, vedere. [Configura il ridimensionamento automatico su una tabella esistente](autoscaling.configureTable.md)

1. Per modificare la modalità di capacità di una tabella in modalità on demand, imposta la modalità di throughput su. `PAY_PER_REQUEST` La seguente dichiarazione ne è un esempio.

   ```
   ALTER TABLE catalog.book_awards WITH CUSTOM_PROPERTIES={'capacity_mode':{'throughput_mode': 'PAY_PER_REQUEST'}};
   ```

1. È possibile utilizzare la seguente istruzione per confermare la modalità di capacità della tabella.

   ```
   SELECT * from system_schema_mcs.tables where keyspace_name = 'catalog' and table_name = 'book_awards';
   ```

   Una tabella configurata con la modalità di capacità su richiesta restituisce quanto segue.

   ```
   {
      "capacity_mode":{
         "last_update_to_pay_per_request_timestamp":"1727952499092",
         "throughput_mode":"PAY_PER_REQUEST"
      }
   }
   ```

   Il `last_update_to_pay_per_request_timestamp` valore viene misurato in millisecondi.

------
#### [ CLI ]

**Modificate la modalità di capacità di trasmissione di una tabella utilizzando il AWS CLI**

1. Per modificare la modalità di capacità della tabella, è `PROVIOSIONED` necessario configurare le unità di capacità di lettura e scrittura in base ai valori di picco previsti del carico di lavoro. Il comando seguente ne è un esempio. È inoltre possibile eseguire questo comando per regolare la capacità di lettura o le unità di capacità di scrittura della tabella.

   ```
   aws keyspaces update-table --keyspace-name catalog --table-name book_awards  
                                       \--capacity-specification throughputMode=PROVISIONED,readCapacityUnits=6000,writeCapacityUnits=3000
   ```

   Per configurare la modalità di capacità fornita con auto-scaling, vedere. [Configura il ridimensionamento automatico su una tabella esistente](autoscaling.configureTable.md)

1. Per modificare la modalità di capacità di una tabella in modalità on demand, è necessario impostare la modalità di throughput su. `PAY_PER_REQUEST` La seguente dichiarazione ne è un esempio.

   ```
   aws keyspaces update-table --keyspace-name catalog --table-name book_awards 
                                       \--capacity-specification throughputMode=PAY_PER_REQUEST
   ```

1. È possibile utilizzare il comando seguente per esaminare la modalità di capacità configurata per una tabella.

   ```
   aws keyspaces get-table --keyspace-name catalog --table-name book_awards
   ```

   L'output di una tabella in modalità su richiesta ha il seguente aspetto.

   ```
   "capacitySpecification": {
           "throughputMode": "PAY_PER_REQUEST",
           "lastUpdateToPayPerRequestTimestamp": "2024-10-03T10:48:19.092000+00:00"
       }
   ```

------

# Configurazione del preriscaldamento per le tabelle in Amazon Keyspaces
<a name="warm-throughput"></a>

Amazon Keyspaces ridimensiona automaticamente le partizioni di storage in base al throughput on-demand o assegnato, ma per nuove tabelle o picchi improvvisi di throughput, l'allocazione delle partizioni di storage richieste può richiedere più tempo. **Per garantire che una tabella nuova o esistente abbia una capacità sufficiente per supportare il picco di throughput previsto, puoi impostare manualmente valori di throughput a caldo specifici per preriscaldare la tabella.** 

Il *throughput caldo* si riferisce al numero di operazioni di lettura e scrittura che la tabella Amazon Keyspaces può supportare istantaneamente. Questi valori sono disponibili di default per tutte le tabelle nuove ed esistenti. Se utilizzi la modalità on-demand o se aggiorni il throughput assegnato, Amazon Keyspaces garantisce che l'applicazione sia in grado di emettere richieste fino a tali valori all'istante.

Amazon Keyspaces regola automaticamente i valori di throughput a caldo all'aumentare dell'utilizzo. Per regolare la capacità di throughput in vista dei prossimi eventi di picco, ad esempio durante la migrazione di dati da un altro database, il che potrebbe richiedere il caricamento di terabyte di dati in un breve periodo di tempo, puoi aumentare manualmente i valori di throughput a caldo delle tabelle. Ciò è utile per gli eventi di picco pianificati in cui i tassi di richiesta potrebbero aumentare di 10, 100 volte o più. Innanzitutto, valuta se l'attuale throughput a caldo è sufficiente per gestire il traffico previsto. [Quindi, se è necessario preriscaldare la tabella per il carico di lavoro di picco pianificato, è possibile aumentare manualmente il valore della produttività a caldo senza modificare le impostazioni di produttività o la modalità di capacità.](ReadWriteCapacityMode.md) 

È possibile preriscaldare le tabelle per operazioni di lettura, scrittura o entrambe. È possibile aumentare questo valore per tabelle a regione singola e tabelle multiregione nuove ed esistenti e le impostazioni di throughput caldo impostate si applicano automaticamente a tutte le repliche delle tabelle con più regioni. Non c'è limite al numero di tabelle Amazon Keyspaces che puoi preriscaldare in qualsiasi momento. Il tempo necessario per completare il preriscaldamento dipende dai valori impostati e dalle dimensioni della tabella. È possibile inviare richieste di preriscaldamento simultanee e tali richieste non interferiscono con le operazioni della tabella. Puoi preriscaldare il tavolo fino al limite di quota consentito dal tuo account in quella regione. Usa la [console Service Quotas](https://console.aws.amazon.com/servicequotas) per controllare le quote attuali e aumentarle se necessario. 

I valori di throughput a caldo che Amazon Keyspaces regola in base all'utilizzo su richiesta o alla capacità fornita sono disponibili per impostazione predefinita per tutte le tabelle senza costi aggiuntivi. Tuttavia, se aumenti manualmente i valori di throughput caldo predefiniti in tabelle preriscaldate per gli eventi di picco di traffico, si applicano costi aggiuntivi. Per ulteriori informazioni, consulta i prezzi di [Amazon Keyspaces](https://aws.amazon.com/keyspaces/pricing/).

Ecco alcuni scenari e best practice diversi da prendere in considerazione per il preriscaldamento delle tabelle Amazon Keyspaces.

## Throughput a caldo e modelli di accesso irregolari
<a name="warm-throughput-scenarios-uneven"></a>

Una tabella può avere una velocità effettiva di 30.000 unità di lettura al secondo e 10.000 unità di scrittura al secondo, ma prima di raggiungere tali valori è comunque possibile che la capacità superi gli eventi in lettura o scrittura. Ciò è probabilmente dovuto a una partizione calda. Sebbene Amazon Keyspaces possa continuare a scalare per supportare un throughput praticamente illimitato, ogni singola partizione è limitata a 1.000 unità di scrittura al secondo e 3.000 unità di lettura al secondo. Se l'applicazione indirizza troppo traffico verso una piccola parte delle partizioni della tabella, è possibile che si verifichi un superamento della capacità anche prima di raggiungere i valori di throughput ottimali della tabella. Ti consigliamo di seguire le [best practice di Amazon Keyspaces](bp-partition-key-design.md) per garantire una scalabilità perfetta ed evitare partizioni calde.

## Throughput a caldo per una tabella con provisioning
<a name="warm-throughput-scenarios-provisioned"></a>

Si consideri una tabella predisposta con un throughput a caldo di 30.000 unità di lettura al secondo e 10.000 unità di scrittura al secondo, ma che attualmente ha un throughput assegnato di 4.000 e 8.000. RCUs WCUs È possibile scalare istantaneamente la velocità effettiva assegnata alla tabella fino a RCUs 30.000 o 10.000 aggiornando le impostazioni del throughput assegnato. WCUs Quando si aumenta il throughput assegnato oltre questi valori, il throughput a caldo si adatta automaticamente ai nuovi valori più alti, poiché è stato stabilito un nuovo throughput di picco. Ad esempio, se si imposta la velocità effettiva assegnata su 50.000 RCU, la velocità effettiva a caldo aumenta a 50.000 unità di lettura al secondo.

```
"ProvisionedThroughput": 
    {
        "ReadCapacityUnits": 4000,
        "WriteCapacityUnits": 8000 
    }
"WarmThroughput": 
    { 
        "ReadUnitsPerSecond": 30000,
        "WriteUnitsPerSecond": 10000
    }
```

## Throughput a caldo per una tabella on demand
<a name="warm-throughput-scenarios-ondemand"></a>

Una nuova tabella on demand inizia con un throughput a caldo di 12.000 unità di lettura al secondo e 4.000 unità di scrittura al secondo. La tabella può supportare in modo istantaneo un traffico sostenuto fino a questi livelli. Quando le richieste superano le 12.000 unità di lettura al secondo o le 4.000 unità di scrittura al secondo, la velocità effettiva a caldo si adatta automaticamente ai valori più alti.

```
"WarmThroughput": 
    { 
        "ReadUnitsPerSecond": 12000,
        "WriteUnitsPerSecond": 4000
    }
```

## Best practice per preriscaldare le tabelle Amazon Keyspaces
<a name="prewarming-best-practices"></a>

Segui queste best practice per implementare il preriscaldamento per le tabelle Amazon Keyspaces:

Stima con precisione la capacità richiesta  
Poiché il preriscaldamento comporta un costo una tantum, calcola attentamente la velocità effettiva necessaria in base al carico di lavoro previsto per evitare un eccessivo approvvigionamento.

Considerate lo schema della tabella  
Le tabelle con righe più grandi possono richiedere più partizioni per lo stesso throughput. Nella stima del fabbisogno di preriscaldamento, tenete conto della dimensione media delle righe.

Monitora le prestazioni della tabella  
Dopo il preriscaldamento, utilizza CloudWatch le metriche per verificare che la tabella gestisca il carico come previsto. Per ulteriori informazioni, consulta [Monitora le prestazioni di un tavolo preriscaldato utilizzando Amazon CloudWatch](monitor-prewarming-cloudwatch.md).

Gestisci le quote  
Se l'applicazione richiede un throughput superiore a quello consentito dalle quote predefinite (40.000 RCUs/WCUs o 2.000 partizioni), la quota di richiesta aumenta con largo anticipo rispetto all'evento ad alto traffico. Per richiedere un aumento di una quota, è possibile utilizzare la [console Service Quotas](https://console.aws.amazon.com/servicequotas).

Ottimizza i costi  
Per gli eventi temporanei ad alto traffico, prendi in considerazione l'utilizzo del preriscaldamento anziché passare alla modalità di approvvigionamento ad alta capacità, poiché potrebbe essere più conveniente per gli eventi di breve durata. Per ulteriori informazioni sui prezzi, consulta i prezzi di [Amazon Keyspaces](https://aws.amazon.com/keyspaces/pricing/).

**Nota**  
Monitora i parametri prestazionali dell'applicazione durante la fase di test per verificare che la configurazione di preriscaldamento supporti adeguatamente i requisiti del carico di lavoro.

**Topics**
+ [Throughput a caldo e modelli di accesso irregolari](#warm-throughput-scenarios-uneven)
+ [Throughput a caldo per una tabella con provisioning](#warm-throughput-scenarios-provisioned)
+ [Throughput a caldo per una tabella on demand](#warm-throughput-scenarios-ondemand)
+ [Best practice per preriscaldare le tabelle Amazon Keyspaces](#prewarming-best-practices)
+ [Creazione di una nuova tabella Amazon Keyspaces con throughput a caldo più elevato](create-table-warm-throughput.md)
+ [Aumento del throughput a caldo di una tabella Amazon Keyspaces esistente](update-warm-throughput.md)
+ [Visualizza la velocità effettiva effettiva di una tabella Amazon Keyspaces](view-warm-throughput.md)
+ [Monitora le prestazioni di un tavolo preriscaldato utilizzando Amazon CloudWatch](monitor-prewarming-cloudwatch.md)

# Creazione di una nuova tabella Amazon Keyspaces con throughput a caldo più elevato
<a name="create-table-warm-throughput"></a>

Puoi regolare i valori di throughput caldo quando crei la tabella Amazon Keyspaces utilizzando la console, CQL o il. AWS CLI

------
#### [ Console ]

**Come creare una nuova tabella con impostazioni di throughput caldo**

1. [Accedi a e apri Console di gestione AWS la console Amazon Keyspaces a casahttps://console.aws.amazon.com/keyspaces/.](https://console.aws.amazon.com/keyspaces/home)

1. Nel pannello di navigazione, scegli **Tabelle**, quindi seleziona **Crea tabella**.

1. **Nella pagina Crea tabella**, nella sezione **Dettagli della tabella**, seleziona un keyspace e fornisci un nome per la nuova tabella.

1. Nella sezione **Colonne**, crea lo schema per la tua tabella.

1. Nella sezione **Chiave primaria**, definisci la chiave primaria della tabella e seleziona le colonne di clustering opzionali.

1. Nella sezione **Impostazioni tabella**, scegli **Personalizza impostazioni**.

1. Continua con le impostazioni della **capacità di lettura/scrittura**.

1. **Per la **modalità Capacity**, è possibile scegliere **On-demand o Provisioned**.**

1. Nella sezione **Preriscaldamento per le tabelle**, è possibile aumentare i valori delle unità di **lettura al secondo e delle unità di scrittura al secondo****, in base alle esigenze, per** preparare la tabella alla gestione degli eventi di picco pianificati.

   I valori di throughput a caldo che Amazon Keyspaces regola in base all'utilizzo su richiesta o alla capacità fornita sono disponibili per impostazione predefinita per tutte le tabelle senza costi aggiuntivi. Tieni presente che se aumenti manualmente i valori di throughput caldo predefiniti per preriscaldare la tabella in caso di picchi di traffico, verranno applicati costi aggiuntivi. 

1. Configura altre funzionalità opzionali della tabella in base alle esigenze. Quindi scegli **Crea tabella**.

------
#### [ Cassandra Query Language (CQL) ]
+ Crea una tabella con una produttività a caldo utilizzando uno dei seguenti metodi:
  + Per la modalità provisioning, create una tabella e specificate la capacità di picco prevista per le letture e le scritture utilizzando la seguente sintassi CQL:

    ```
    CREATE TABLE catalog.book_awards (
       year int,
       award text,
       rank int,
       category text,
       book_title text,
       author text,
       publisher text,
       PRIMARY KEY ((year, award), category, rank))
    WITH CUSTOM_PROPERTIES = {  
        'capacity_mode': {
           'throughput_mode': 'PROVISIONED',
           'read_capacity_units': 20000,
           'write_capacity_units': 10000
         },
        'warm_throughput': {  
            'read_units_per_second': 40000,  
            'write_units_per_second': 20000  
         }
    };
    ```
  + Per la modalità su richiesta, create una tabella e specificate la capacità di picco prevista per le letture e le scritture utilizzando la seguente sintassi CQL:

    ```
    CREATE TABLE catalog.book_awards (
       year int,
       award text,
       rank int,
       category text,
       book_title text,
       author text,
       publisher text,
       PRIMARY KEY ((year, award), category, rank))
    WITH CUSTOM_PROPERTIES = {  
        'capacity_mode': {
           'throughput_mode': 'PAY_PER_REQUEST'
         },
        'warm_throughput': {  
            'read_units_per_second': 40000,  
            'write_units_per_second': 20000  
         }
    };
    ```

  Per confermare le impostazioni di capacità della tabella, vedere. [Visualizza la velocità effettiva effettiva di una tabella Amazon Keyspaces](view-warm-throughput.md)

------
#### [ CLI ]

1. Create una tabella con una produttività a caldo utilizzando uno dei seguenti metodi utilizzando il AWS CLI
   + Create una nuova tabella in modalità provisioning e specificate i valori di capacità di picco previsti per le letture e le scritture per la nuova tabella. La seguente dichiarazione ne è un esempio.

     ```
     aws keyspaces create-table \
     --keyspace-name 'catalog' \
     --table-name 'book_awards' \
     --schema-definition 'allColumns=[{name=year,type=int},{name=award,type=text},{name=rank,type=int},{name=category,type=text},{name=book_title,type=text},{name=author,type=text},{name=publisher,type=text}],partitionKeys=[{name=year},{name=award}],clusteringKeys=[{name=category,orderBy=ASC},{name=rank,orderBy=ASC}]' \
     --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=20000,writeCapacityUnits=10000 \
     --warm-throughput-specification readUnitsPerSecond=40000,writeUnitsPerSecond=20000
     ```
   + Crea una nuova tabella in modalità su richiesta e specifica i valori di capacità di picco previsti per le letture e le scritture per la nuova tabella. La seguente dichiarazione ne è un esempio.

     ```
     aws keyspaces create-table \
     --keyspace-name 'catalog' \
     --table-name 'book_awards' \
     --schema-definition 'allColumns=[{name=year,type=int},{name=award,type=text},{name=rank,type=int},{name=category,type=text},{name=book_title,type=text},{name=author,type=text},{name=publisher,type=text}],partitionKeys=[{name=year},{name=award}],clusteringKeys=[{name=category,orderBy=ASC},{name=rank,orderBy=ASC}]' \
     --warmThroughputSpecification readUnitsPerSecond=40000,writeUnitsPerSecond=20000
     ```

1. L'output del comando restituisce l'ARN della tabella come illustrato nell'esempio seguente.

   ```
   {
       "resourceArn": "arn:aws::cassandra:us-east-1:111122223333:/keyspace/catalog/table/book_awards>"
   }
   ```

   Per confermare le impostazioni di capacità della tabella, vedere[Visualizza la velocità effettiva effettiva di una tabella Amazon Keyspaces](view-warm-throughput.md).

------
#### [ Java ]

**Crea una nuova tabella utilizzando l'SDK for Java.**
+ Crea una nuova tabella in modalità provisioning e specifica i valori di capacità di picco previsti per le letture e le scritture per la nuova tabella. Il seguente esempio di codice ne è un esempio.

  ```
  import software.amazon.awssdk.services.keyspaces.KeyspacesClient;
  import software.amazon.awssdk.services.keyspaces.model.*;
  
  public class PreWarmingExample {
      public static void main(String[] args) {
          KeyspacesClient keyspacesClient = KeyspacesClient.builder().build();
  
          // Define schema
          List<ColumnDefinition> columns = Arrays.asList(
              ColumnDefinition.builder().name("year").type("int").build(),
              ColumnDefinition.builder().name("award").type("text").build(),
              ColumnDefinition.builder().name("rank").type("int").build(),
              ColumnDefinition.builder().name("category").type("text").build(),
              ColumnDefinition.builder().name("book_title").type("text").build(),
              ColumnDefinition.builder().name("author").type("text").build(),
              ColumnDefinition.builder().name("publisher").type("text").build()
          );
          
          List<PartitionKey> partitionKeys = Arrays.asList(
              PartitionKey.builder().name("year").build(),
              PartitionKey.builder().name("award").build()
          );
          
          List<ClusteringKey> clusteringKeys = Arrays.asList(
              ClusteringKey.builder().name("category").orderBy("ASC").build(),
              ClusteringKey.builder().name("rank").orderBy("ASC").build()
          );
          
          SchemaDefinition schema = SchemaDefinition.builder()
              .allColumns(columns)
              .partitionKeys(partitionKeys)
              .clusteringKeys(clusteringKeys)
              .build();
  
          // Define capacity specification
          CapacitySpecification capacitySpec = CapacitySpecification.builder()
              .throughputMode(ThroughputMode.PROVISIONED)
              .readCapacityUnits(20000)
              .writeCapacityUnits(10000)
              .build();
              
          // Define warm throughput specification
          WarmThroughputSpecification warmThroughput = WarmThroughputSpecification.builder()
              .readUnitsPerSecond(40000L)
              .writeUnitsPerSecond(20000L)
              .build();
  
          // Create table with PreWarming
          CreateTableRequest request = CreateTableRequest.builder()
              .keyspaceName("catalog")
              .tableName("book_awards")
              .schemaDefinition(schema)
              .capacitySpecification(capacitySpec)
              .warmThroughputSpecification(warmThroughput)
              .build();
              
          CreateTableResponse response = keyspacesClient.createTable(request);
          System.out.println("Table created with ARN: " + response.resourceArn());
      }
  }
  ```

------

# Aumento del throughput a caldo di una tabella Amazon Keyspaces esistente
<a name="update-warm-throughput"></a>

Puoi aumentare gli attuali valori di throughput caldo della tua tabella Amazon Keyspaces utilizzando la console, CQL o il. AWS CLI

------
#### [ Console ]

**Come aumentare le impostazioni di preriscaldamento di un tavolo utilizzando la console**

1. [Accedi a e apri Console di gestione AWS la console Amazon Keyspaces a casahttps://console.aws.amazon.com/keyspaces/.](https://console.aws.amazon.com/keyspaces/home)

1. Nel pannello di navigazione, scegli **Tabelle**, quindi scegli la tabella che desideri aggiornare.

1. Nella scheda **Capacità** della tabella, continua con **Preriscaldamento per i tavoli**.

1. **Nella sezione **Preriscaldamento dei tavoli**, scegli Modifica.**

1. Nella pagina **Modifica preriscaldamento per le tabelle**, puoi aggiornare i valori per Unità di **lettura al secondo e per Unità** di **scrittura al** secondo.

1. Scegli **Save changes** (Salva modifiche). La tabella viene aggiornata con le impostazioni di preriscaldamento specificate. 

------
#### [ Cassandra Query Language (CQL) ]

**Aumenta le impostazioni della potenza di riscaldamento di una tabella utilizzando CQL**
+ Utilizzate l'`ALTER TABLE`istruzione per aumentare la produttività a caldo di una tabella. La seguente dichiarazione ne è un esempio.

  ```
  ALTER TABLE catalog.book_awards 
  WITH CUSTOM_PROPERTIES = {
      'warm_throughput': {  
          'read_units_per_second': 60000,  
          'write_units_per_second': 30000  
      }
  };
  ```

  Per confermare le impostazioni di capacità aggiornate della tabella, vedere[Visualizza la velocità effettiva effettiva di una tabella Amazon Keyspaces](view-warm-throughput.md).

------
#### [ CLI ]

**Aumentare le impostazioni di preriscaldamento di un tavolo utilizzando il AWS CLI**
+ Per aumentare la produttività a caldo della tabella, è possibile utilizzare il comando. `update-table` La seguente dichiarazione ne è un esempio.

  ```
  aws keyspaces update-table \
  --keyspace-name 'catalog' \
  --table-name 'book_awards' \
  --warmThroughputSpecification readUnitsPerSecond=60000,writeUnitsPerSecond=30000
  ```

  Per confermare le impostazioni di capacità aggiornate della tabella, vedere[Visualizza la velocità effettiva effettiva di una tabella Amazon Keyspaces](view-warm-throughput.md).

------
#### [ Java ]

**Aggiorna le impostazioni di preriscaldamento di una tabella utilizzando l'SDK for Java.**
+ Aggiorna le impostazioni del warm-throughput per una tabella. Il seguente esempio di codice ne è un esempio.

  ```
  import software.amazon.awssdk.services.keyspaces.KeyspacesClient;
  import software.amazon.awssdk.services.keyspaces.model.*;
  
  public class UpdatePreWarmingExample {
      public static void main(String[] args) {
          KeyspacesClient keyspacesClient = KeyspacesClient.builder().build();
  
          // Define new warm throughput specification
          WarmThroughputSpecification warmThroughput = WarmThroughputSpecification.builder()
              .readUnitsPerSecond(60000L)
              .writeUnitsPerSecond(30000L)
              .build();
  
          // Update table with new PreWarming settings
          UpdateTableRequest request = UpdateTableRequest.builder()
              .keyspaceName("catalog")
              .tableName("book_awards")
              .warmThroughputSpecification(warmThroughput)
              .build();
              
          UpdateTableResponse response = keyspacesClient.updateTable(request);
          System.out.println("Table update requested: " + response.resourceArn());
      }
  }
  ```

------

# Visualizza la velocità effettiva effettiva di una tabella Amazon Keyspaces
<a name="view-warm-throughput"></a>

Puoi visualizzare gli attuali valori di throughput caldo della tabella Amazon Keyspaces utilizzando la console, CQL o il. AWS CLI

------
#### [ Console ]

**Come visualizzare le impostazioni di preriscaldamento del tavolo utilizzando la console.**

1. [Accedi a e apri Console di gestione AWS la console Amazon Keyspaces a casahttps://console.aws.amazon.com/keyspaces/.](https://console.aws.amazon.com/keyspaces/home)

1. Nel pannello di navigazione, scegli **Tabelle**, quindi scegli la tabella che desideri esaminare.

1. Nella scheda **Capacità** della tabella, continua con **Preriscaldamento per i tavoli**. 

------
#### [ Cassandra Query Language (CQL) ]

**Visualizza le impostazioni del rendimento a caldo di una tabella utilizzando CQL**
+ Per visualizzare le impostazioni del warm-throughput di una tabella, è possibile utilizzare la seguente istruzione CQL.

  ```
  SELECT custom_properties
  FROM system_schema_mcs.tables 
  WHERE keyspace_name='catalog' and table_name='book_awards';
  
  // Output:
  ...
  custom_properties
  ----------------------------------------------------------------------------------
  {
      'warm_throughput': 
      {
          'read_units_per_second': '40000', 
          'write_units_per_second': '20000', 
          'status': 'AVAILABLE'
      }
  }
  ...
  ```

------
#### [ CLI ]

**Visualizzate le impostazioni del warm-throughput di una tabella utilizzando il AWS CLI**
+ È possibile visualizzare le impostazioni del warm-throughput di una tabella utilizzando il `get-table` comando, come illustrato nell'esempio seguente.

  ```
  aws keyspaces get-table \
  --keyspace-name 'catalog' \
  --table-name 'book_awards'
  ```

  Di seguito viene illustrato l'output di esempio del `get-table` comando per una tabella a regione singola in modalità provisioning.

  ```
  {
      "keyspaceName": "catalog",
      "tableName": "book_awards",
      ... Existing Fields ...,
      "capacitySpecificationSummary": {
          "throughputMode": "PROVISIONED",
          "readCapacityUnits": 20000,
          "writeCapacityUnits": 10000
      },
      "warmThroughputSpecificationSummary": {
          "readUnitsPerSecond": 40000,
          "writeUnitsPerSecond": 20000,
          "status": "AVAILABLE"
      }
  }
  ```

  Di seguito viene illustrato l'output di esempio per una tabella a regione singola in modalità on-demand.

  ```
  {
      "keyspaceName": "catalog",
      "tableName": "book_awards_ondemand",
      ... Existing Fields ...,
      "capacitySpecification": {
          "throughputMode": "PAY_PER_REQUEST"
      },
      "warmThroughputSpecificationSummary": {
          "readUnitsPerSecond": 40000,
          "writeUnitsPerSecond": 20000,
          "status": "AVAILABLE"
      }
  }
  ```

------
#### [ Java ]

**Leggi le impostazioni di preriscaldamento di una tabella utilizzando l'SDK for Java.**
+ Leggi i valori di throughput a caldo di una tabella utilizzando. `get-table` Il seguente esempio di codice ne è un esempio.

  ```
  import software.amazon.awssdk.services.keyspaces.KeyspacesClient;
  import software.amazon.awssdk.services.keyspaces.model.*;
  
  public class GetTableWithPreWarmingExample {
      public static void main(String[] args) {
          KeyspacesClient keyspacesClient = KeyspacesClient.builder().build();
  
          // Get table details including PreWarming specification
          GetTableRequest request = GetTableRequest.builder()
              .keyspaceName("catalog")
              .tableName("book_awards")
              .build();
              
          GetTableResponse response = keyspacesClient.getTable(request);
          
          // Access PreWarming details
          if (response.warmThroughputSpecification() != null) {
              WarmThroughputSpecificationSummary warmThroughputSummary = response.warmThroughputSpecification();
              System.out.println("PreWarming Status: " + warmThroughputSummary.status());
              System.out.println("Read Units: " + warmThroughputSummary.readUnitsPerSecond());
              System.out.println("Write Units: " + warmThroughputSummary.writeUnitsPerSecond());
              
              // Check if PreWarming is active
              if (warmThroughputSummary.status().equals("AVAILABLE")) {
                  System.out.println("Table is fully pre-warmed and ready for high throughput");
              } else if (warmThroughputSummary.status().equals("UPDATING")) {
                  System.out.println("Table PreWarming is currently being updated");
              }
          } else {
              System.out.println("Table does not have PreWarming enabled");
          }
      }
  }
  ```

------

# Monitora le prestazioni di un tavolo preriscaldato utilizzando Amazon CloudWatch
<a name="monitor-prewarming-cloudwatch"></a>

Il preriscaldamento di Amazon Keyspaces non introduce nuove CloudWatch metriche, ma puoi monitorare le prestazioni delle tabelle preriscaldate utilizzando i parametri Amazon Keyspaces esistenti:

SuccessfulRequestLatency  
Monitora questa metrica per verificare che la tabella preriscaldata gestisca le richieste con la latenza prevista.

WriteThrottleEvents e ReadThrottleEvents  
Queste metriche dovrebbero rimanere basse per una tabella preriscaldata correttamente. Se si riscontrano errori di capacità insufficiente nonostante il preriscaldamento, potrebbe essere necessario modificare i valori della produttività a caldo.

ConsumedReadCapacityUnits e ConsumedWriteCapacityUnits  
Queste metriche mostrano il consumo effettivo di capacità, il che può aiutare a verificare se la configurazione di preriscaldamento è appropriata.

ProvisionedReadCapacityUnits e ProvisionedWriteCapacityUnits  
Per le tabelle predisposte, queste metriche mostrano la capacità attualmente allocata.

Queste metriche possono essere visualizzate nella CloudWatch console o interrogate utilizzando l'API. CloudWatch Per ulteriori informazioni, consulta [Monitoraggio di Amazon Keyspaces con Amazon CloudWatch](monitoring-cloudwatch.md).