Crea una nuova tabella con ridimensionamento automatico - Amazon Keyspaces (per Apache Cassandra)

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

Crea una nuova tabella con ridimensionamento automatico

Quando crei una nuova tabella Amazon Keyspaces, puoi abilitare automaticamente la scalabilità automatica per la capacità di scrittura o lettura della tabella. Ciò consente ad Amazon Keyspaces di contattare Application Auto Scaling per tuo conto per registrare la tabella come destinazione scalabile e regolare la capacità di scrittura o lettura fornita.

Per ulteriori informazioni su come creare una tabella multiregionale e configurare diverse impostazioni di ridimensionamento automatico per le repliche di tabelle, vedere. Crea una tabella multiregionale in modalità provisioning con scalabilità automatica in Amazon Keyspaces

Nota

La scalabilità automatica di Amazon Keyspaces richiede la presenza di un ruolo collegato al servizio (AWSServiceRoleForApplicationAutoScaling_CassandraTable) che esegue azioni di ridimensionamento automatico per tuo conto. Questo ruolo viene creato automaticamente per te. Per ulteriori informazioni, consulta Utilizzo di ruoli collegati ai servizi per Amazon Keyspaces.

Console
Crea una nuova tabella con ridimensionamento automatico abilitato utilizzando la console
  1. Accedi al AWS Management Consolee apri la console Amazon Keyspaces a casahttps://console.aws.amazon.com/keyspaces/.

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

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

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

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

  6. Nella sezione Impostazioni tabella, scegli Personalizza impostazioni.

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

  8. Per la modalità Capacity, scegli Provisioned.

  9. Nella sezione Capacità di lettura, conferma che l'opzione Scale automaticamente sia selezionata.

    In questo passaggio, si selezionano le unità di capacità di lettura minima e massima per la tabella, nonché l'utilizzo previsto.

    • Unità di capacità minima: immettete il valore per il livello minimo di velocità effettiva che la tabella deve essere sempre pronta a supportare. Il valore deve essere compreso tra 1 e la quota massima di throughput al secondo prevista per l'account (40.000 per impostazione predefinita).

    • Unità di capacità massima: inserisci la quantità massima di velocità effettiva che desideri fornire per la tabella. Il valore deve essere compreso tra 1 e la quota massima di throughput al secondo prevista per l'account (40.000 per impostazione predefinita).

    • Utilizzo obiettivo: inserisci un tasso di utilizzo obiettivo compreso tra il 20% e il 90%. Quando il traffico supera il tasso di utilizzo target definito, la capacità viene automaticamente aumentata. Quando il traffico scende al di sotto dell'obiettivo definito, viene nuovamente ridimensionato automaticamente.

    Nota

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

  10. Nella sezione Capacità di scrittura, scegli le stesse impostazioni definite nel passaggio precedente per la capacità di lettura o configura i valori della capacità manualmente.

  11. Scegliere Create table (Crea tabella). La tabella viene creata con i parametri di ridimensionamento automatico specificati.

Cassandra Query Language (CQL)

Crea una nuova tabella con la scalabilità automatica di Amazon Keyspaces utilizzando CQL

Per configurare le impostazioni di auto scaling per una tabella a livello di codice, usi l'AUTOSCALING_SETTINGSistruzione che contiene i parametri per la scalabilità automatica di Amazon Keyspaces. I parametri definiscono le condizioni che spingono Amazon Keyspaces a modificare il throughput assegnato alla tabella e quali azioni opzionali aggiuntive intraprendere. In questo esempio, definisci le impostazioni di ridimensionamento automatico per mytable.

La policy contiene i seguenti elementi:

  • AUTOSCALING_SETTINGS— Indica se Amazon Keyspaces è autorizzato a modificare la capacità di throughput per tuo conto. Sono obbligatori i seguenti valori:

    • provisioned_write_capacity_autoscaling_update:

      • minimum_units

      • maximum_units

    • provisioned_read_capacity_autoscaling_update:

      • minimum_units

      • maximum_units

    • scaling_policy— Amazon Keyspaces supporta la politica di tracciamento degli obiettivi. Per definire la politica di tracciamento degli obiettivi, configuri i seguenti parametri.

      • target_value— La scalabilità automatica di Amazon Keyspaces assicura che il rapporto tra capacità consumata e capacità fornita rimanga pari o vicino a questo valore. target_value viene definito in percentuale.

      • disableScaleIn: (Facoltativo) A boolean che specifica se scale-in è disabilitato o abilitato per la tabella. Questo parametro è disabilitato per impostazione predefinita. Per attivarloscale-in, imposta il boolean valore suFALSE. Ciò significa che la capacità viene automaticamente ridotta per una tabella per conto dell'utente.

      • scale_out_cooldown— Un'attività di scalabilità orizzontale aumenta la velocità effettiva assegnata alla tabella. Per aggiungere un periodo di recupero per le attività con scalabilità orizzontale, specifica un valore, in secondi, per. scale_out_cooldown Se non specifichi un valore, il valore predefinito è 0. Per ulteriori informazioni sul tracciamento del target e sui periodi di cooldown, consulta Target Tracking Scaling Policies nella Application Auto Scaling User Guide.

      • scale_in_cooldown— Un'attività scalabile riduce il throughput assegnato alla tabella. Per aggiungere un periodo di recupero per le attività scalabili, specifica un valore, in secondi, per. scale_in_cooldown Se non specificate un valore, il valore predefinito è 0. Per ulteriori informazioni sul tracciamento del target e sui periodi di cooldown, consulta Target Tracking Scaling Policies nella Application Auto Scaling User Guide.

Nota

Per capire meglio come funziona target_value, supponiamo di avere una tabella con un'impostazione di velocità effettiva assegnata pari a 200 unità di capacità in scrittura. Si decide di creare una policy di dimensionamento per questa tabella, con un target_value del 70%.

Si supponga ora di iniziare a guidare il traffico di scrittura verso la tabella in modo che la velocità effettiva di scrittura sia di 150 unità di capacità. Il consumed-to-provisioned rapporto è ora (150/ 200), ovvero il 75 percento. Questo rapporto supera l'obiettivo, quindi la scalabilità automatica aumenta la capacità di scrittura assegnata a 215 in modo che il rapporto sia (150/ 215), ovvero il 69,77 percento, il più vicino target_value possibile, ma senza superarlo.

Per mytable, hai impostato la capacità di lettura e scrittura al TargetValue 50%. La scalabilità automatica di Amazon Keyspaces regola il throughput assegnato dalla tabella entro un intervallo di 5-10 unità di capacità in modo che il rapporto rimanga pari o vicino al consumed-to-provisioned 50%. Per quanto riguarda la capacità di lettura, si impostano i valori per e fino a 60 secondi. ScaleOutCooldown ScaleInCooldown

Puoi utilizzare la seguente istruzione per creare una nuova tabella Amazon Keyspaces con la scalabilità automatica abilitata.

CREATE TABLE mykeyspace.mytable(pk int, ck int, PRIMARY KEY (pk, ck)) WITH CUSTOM_PROPERTIES = { 'capacity_mode': { 'throughput_mode': 'PROVISIONED', 'read_capacity_units': 1, 'write_capacity_units': 1 } } AND AUTOSCALING_SETTINGS = { 'provisioned_write_capacity_autoscaling_update': { 'maximum_units': 10, 'minimum_units': 5, 'scaling_policy': { 'target_tracking_scaling_policy_configuration': { 'target_value': 50 } } }, 'provisioned_read_capacity_autoscaling_update': { 'maximum_units': 10, 'minimum_units': 5, 'scaling_policy': { 'target_tracking_scaling_policy_configuration': { 'target_value': 50, 'scale_in_cooldown': 60, 'scale_out_cooldown': 60 } } } };
CLI

Crea una nuova tabella con il ridimensionamento automatico di Amazon Keyspaces utilizzando AWS CLI

Per configurare le impostazioni di auto scaling per una tabella a livello di codice, usi l'autoScalingSpecificationazione che definisce i parametri per la scalabilità automatica di Amazon Keyspaces. I parametri definiscono le condizioni che spingono Amazon Keyspaces a modificare il throughput assegnato alla tabella e quali azioni opzionali aggiuntive intraprendere. In questo esempio, definisci le impostazioni di ridimensionamento automatico per mytable.

La policy contiene i seguenti elementi:

  • autoScalingSpecification— Indica se Amazon Keyspaces è autorizzato a regolare la capacità di trasmissione per tuo conto. È possibile abilitare la scalabilità automatica per la capacità di lettura e scrittura separatamente. Quindi è necessario specificare i seguenti parametri perautoScalingSpecification:

    • writeCapacityAutoScaling— Le unità con capacità di scrittura massima e minima.

    • readCapacityAutoScaling— Le unità con capacità di lettura massima e minima.

    • scalingPolicy— Amazon Keyspaces supporta la politica di tracciamento degli obiettivi. Per definire la politica di tracciamento degli obiettivi, configuri i seguenti parametri.

      • targetValue— La scalabilità automatica di Amazon Keyspaces assicura che il rapporto tra capacità consumata e capacità fornita rimanga pari o vicino a questo valore. targetValue viene definito in percentuale.

      • disableScaleIn: (Facoltativo) A boolean che specifica se scale-in è disabilitato o abilitato per la tabella. Questo parametro è disabilitato per impostazione predefinita. Per attivarloscale-in, imposta il boolean valore suFALSE. Ciò significa che la capacità viene automaticamente ridotta per una tabella per conto dell'utente.

      • scaleOutCooldown— Un'attività di scalabilità orizzontale aumenta la velocità effettiva assegnata alla tabella. Per aggiungere un periodo di recupero per le attività con scalabilità orizzontale, specifica un valore, in secondi, per. ScaleOutCooldown Il valore predefinito è 0. Per ulteriori informazioni sul tracciamento del target e sui periodi di cooldown, consulta Target Tracking Scaling Policies nella Application Auto Scaling User Guide.

      • scaleInCooldown— Un'attività scalabile riduce il throughput assegnato alla tabella. Per aggiungere un periodo di recupero per le attività scalabili, specifica un valore, in secondi, per. ScaleInCooldown Il valore predefinito è 0. Per ulteriori informazioni sul tracciamento del target e sui periodi di cooldown, consulta Target Tracking Scaling Policies nella Application Auto Scaling User Guide.

Nota

Per capire meglio come funziona TargetValue, supponiamo di avere una tabella con un'impostazione di velocità effettiva assegnata pari a 200 unità di capacità in scrittura. Si decide di creare una policy di dimensionamento per questa tabella, con un TargetValue del 70%.

Si supponga ora di iniziare a guidare il traffico di scrittura verso la tabella in modo che la velocità effettiva di scrittura sia di 150 unità di capacità. Il consumed-to-provisioned rapporto è ora (150/ 200), ovvero il 75 percento. Questo rapporto supera l'obiettivo, quindi la scalabilità automatica aumenta la capacità di scrittura assegnata a 215 in modo che il rapporto sia (150/ 215), ovvero il 69,77 percento, il più vicino TargetValue possibile, ma senza superarlo.

Per mytable, hai impostato la capacità di lettura e scrittura al TargetValue 50%. La scalabilità automatica di Amazon Keyspaces regola il throughput assegnato dalla tabella entro un intervallo di 5-10 unità di capacità in modo che il rapporto rimanga pari o vicino al consumed-to-provisioned 50%. Per quanto riguarda la capacità di lettura, si impostano i valori per e fino a 60 secondi. ScaleOutCooldown ScaleInCooldown

Quando si creano tabelle con impostazioni di ridimensionamento automatico complesse, è utile caricare le impostazioni di ridimensionamento automatico da un JSON file. Per l'esempio seguente, è possibile scaricare il JSON file di esempio da auto-scaling.zip ed estrarloauto-scaling.json, prendendo nota del percorso del file. In questo esempio, il JSON file si trova nella directory corrente. Per le diverse opzioni relative al percorso del file, consultate Come caricare i parametri da un file.

aws keyspaces create-table --keyspace-name mykeyspace --table-name mytable \ --schema-definition 'allColumns=[{name=pk,type=int},{name=ck,type=int}],partitionKeys=[{name=pk},{name=ck}]' \ --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=1,writeCapacityUnits=1 \ --auto-scaling-specification file://auto-scaling.json