

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurar modos de read/write capacidade no Amazon Keyspaces
<a name="ReadWriteCapacityMode"></a>

O Amazon Keyspaces tem dois modos de read/write capacidade para processar leituras e gravações em suas tabelas: 
+  Sob demanda (padrão) 
+  Provisionada 

 O modo read/write de capacidade escolhido controla como você é cobrado pela taxa de transferência de leitura e gravação e como a capacidade de taxa de transferência da tabela é gerenciada. 

**Topics**
+ [Configurar o modo de capacidade sob demanda](ReadWriteCapacityMode.OnDemand.md)
+ [Configurar o modo de capacidade provisionada](ReadWriteCapacityMode.Provisioned.md)
+ [Exibir o modo de capacidade de uma tabela no Amazon Keyspaces](ReadWriteCapacityMode.ProvisionedThroughput.ManagingCapacity.md)
+ [Alterar o modo de capacidade de uma tabela no Amazon Keyspaces](ReadWriteCapacityMode.SwitchReadWriteCapacityMode.md)
+ [Configurar o preaquecimento para tabelas no Amazon Keyspaces](warm-throughput.md)

# Configurar o modo de capacidade sob demanda
<a name="ReadWriteCapacityMode.OnDemand"></a>

O modo de capacidade *sob demanda* do Amazon Keyspaces (para Apache Cassandra) é uma opção de faturamento flexível capaz de servir centenas de solicitações por segundo sem planejamento de capacidade. Essa opção oferece pay-per-request preços para solicitações de leitura e gravação, de forma que você pague somente pelo que usar. 

 Quando você seleciona o modo sob demanda, o Amazon Keyspaces pode escalar instantaneamente a capacidade de throughput de sua tabela para qualquer nível de tráfego previamente registrado e, em seguida, voltar para baixo quando o tráfego do aplicativo diminuir. Se o nível de tráfego de uma workload atingir um novo pico, o serviço se adapta rapidamente para aumentar a capacidade de throughput de sua tabela. Você pode ativar o modo de capacidade sob demanda para tabelas novas e existentes.

Modo sob demanda é uma boa opção se qualquer uma das declarações a seguir for verdadeira: 
+ Você cria novas tabelas com workloads desconhecidas. 
+ Você tem tráfego de aplicativos imprevisível. 
+ Você prefere a facilidade de pagar somente pelo que usar. 

Para começar com o modo sob demanda, você pode criar uma nova tabela ou atualizar uma tabela existente para usar o modo de capacidade sob demanda usando o console ou com algumas linhas do código Cassandra Query Language (CQL). Para obter mais informações, consulte [Tabelas](cql.ddl.table.md).

**Topics**
+ [Unidades de solicitação de leitura e unidades de solicitação de gravação](#ReadWriteCapacityMode.requests)
+ [Tráfego de pico e propriedades de dimensionamento](#ReadWriteCapacityMode.PeakTraffic)
+ [Throughput inicial para modo de capacidade sob demanda](#ReadWriteCapacityMode.InitialThroughput)

## Unidades de solicitação de leitura e unidades de solicitação de gravação
<a name="ReadWriteCapacityMode.requests"></a>

 Com tabelas de modo de capacidade sob demanda, você não precisa especificar antecipadamente quanto de throughput de leitura e gravação espera que seu aplicativo use. O Amazon Keyspaces cobra pelas leituras e gravações que você executa em suas tabelas em termos de unidades de solicitação de leitura (RRUs) e unidades de solicitação de gravação (WRUs). 
+ Um *RRU* representa uma solicitação de leitura `LOCAL_QUORUM` ou duas solicitações de leitura ` LOCAL_ONE` para uma linha com até 4 KB de tamanho. Se você precisar ler uma linha maior que 4 KB, a operação de leitura usará mais RRUs. O número total RRUs necessário depende do tamanho da linha e se você deseja usar `LOCAL_QUORUM` ou `LOCAL_ONE` ler a consistência. Por exemplo, a leitura de uma linha de 8 KB requer 2 RRUs usando a consistência de `LOCAL_QUORUM` leitura e 1 RRU se você escolher a consistência de `LOCAL_ONE` leitura. 
+ Um *WRU* representa uma gravação para uma linha com até 1 KB de tamanho. Todas as gravações estão usando `LOCAL_QUORUM` consistência e não há cobrança adicional pelo uso de transações leves (LWTs). Se você precisar gravar uma linha maior que 1 KB, a operação de gravação usa mais WRUs. O número total WRUs necessário depende do tamanho da linha. Por exemplo, se o tamanho da linha for de 2 KB, você precisará de 2 WRUs para realizar uma solicitação de gravação. 

Para obter informações sobre os níveis de consistência suportados, consulte [Níveis de consistência de leitura e gravação do Apache Cassandra suportados e custos associados](consistency.md).

## Tráfego de pico e propriedades de dimensionamento
<a name="ReadWriteCapacityMode.PeakTraffic"></a>

As tabelas do Amazon Keyspaces que usam modo de capacidade sob demanda automaticamente adaptam-se ao volume de tráfego da sua aplicação. O modo de capacidade sob demanda acomoda instantaneamente até o dobro do pico de tráfego anterior em uma tabela. Por exemplo, o padrão de tráfego do seu aplicativo pode variar entre 5 mil e 10 mil leituras `LOCAL_QUORUM` por segundo, sendo 10 mil leituras por segundo o pico de tráfego anterior. 

Com esse padrão, o modo de capacidade sob demanda acomoda instantaneamente o tráfego sustentado de até 20 mil leituras por segundo. Se a sua aplicação sustentar o tráfego de 20 mil leituras por segundo, esse pico torna-se o novo pico anterior, habilitando o tráfego subsequente de até 40 mil leituras por segundo.

 Se você precisar de mais que o dobro do pico anterior em uma tabela, o Amazon Keyspaces alocará automaticamente mais capacidade à medida que o volume de tráfego aumentar. Isso ajuda a garantir que sua tabela tenha capacidade de throughput suficiente para processar as solicitações adicionais. No entanto, você pode observar erros de capacidade de throughput insuficientes se exceder o dobro do pico anterior em 30 minutos. 

Por exemplo, suponha que o padrão de tráfego do seu aplicativo varie entre 5 mil e 10 mil leituras altamente consistentes por segundo, onde 20 mil leituras por segundo é o pico de tráfego atingido anteriormente. Nesse caso, o serviço recomenda que você espace o crescimento do tráfego em pelo menos 30 minutos antes de gerar até 40 mil leituras por segundo. 

Para saber como estimar o consumo da capacidade de leitura e gravação de uma tabela, consulte [Estimar o consumo de capacidade do throughput de leitura e gravação no Amazon Keyspaces](capacity-examples.md).

Para saber mais sobre as cotas padrão da sua conta e como aumentá-las, consulte [Cotas para Amazon Keyspaces (para Apache Cassandra)](quotas.md).

## Throughput inicial para modo de capacidade sob demanda
<a name="ReadWriteCapacityMode.InitialThroughput"></a>

Se você criar uma nova tabela com o modo de capacidade sob demanda habilitado ou alternar uma tabela existente para o modo de capacidade sob demanda pela primeira vez, a tabela terá as configurações de pico anteriores a seguir, mesmo que não tenha servido tráfego anteriormente usando o modo de capacidade sob demanda:
+  **Tabela recém-criada com modo de capacidade sob demanda:** o pico anterior era de 2.000 WRUs e RRUs 6.000. Você pode originar até o dobro do pico anterior imediatamente. Isso permite que tabelas sob demanda recém-criadas atendam até 4.000 WRUs e 12.000. RRUs 
+  **Tabela existente alterada para o modo de capacidade sob demanda:** o pico anterior é metade do anterior WCUs e RCUs provisionado para a tabela ou para as configurações de uma tabela recém-criada com modo de capacidade sob demanda, o que for maior. 

# Configurar o modo de capacidade provisionada
<a name="ReadWriteCapacityMode.Provisioned"></a>

 Se você selecionar o modo de *capacidade de throughput* provisionada, especifique o número de leituras e gravações por segundo necessárias para seu aplicativo. Isso ajuda você a gerenciar o uso do Amazon Keyspaces para permanecer em ou abaixo de uma taxa de solicitação definida para manter a previsibilidade. Para saber mais sobre escalabilidade automática para throughput provisionada, consulte [Gerencia automaticamente a capacidade de throughput com o ajuste de escala automático do Amazon Keyspaces](autoscaling.md). 

Modo de capacidade de throughput provisionada é uma boa opção se qualquer uma das declarações a seguir for verdadeira: 
+ Você tem tráfego de aplicações previsível. 
+ Você executa aplicativos cujo tráfego é consistente ou aumenta gradualmente. 
+ Você pode prever os requisitos de capacidade.

## Unidades de capacidade de leitura e unidades de capacidade de gravação
<a name="ReadWriteCapacityMode.Provisioned.Units"></a>

 Para tabelas do modo de capacidade de taxa de transferência provisionada, você especifica a capacidade de transferência em termos de unidades de capacidade de leitura (RCUs) e unidades de capacidade de gravação (): WCUs 
+ Uma *RCU* representa uma leitura `LOCAL_QUORUM` por segundo, ou duas leituras por `LOCAL_ONE` segundo, para uma linha com até 4 KB de tamanho. Se você precisar ler uma linha maior que 4 KB, a operação de leitura usará mais RCUs. 

  O número total RCUs necessário depende do tamanho da linha e se você deseja `LOCAL_ONE` ler `LOCAL_QUORUM` ou ler. Por exemplo, se o tamanho da linha for de 8 KB, você precisará de 2 RCUs para sustentar uma `LOCAL_QUORUM` leitura por segundo e 1 RCU se escolher leituras. `LOCAL_ONE` 
+ Um *WCU* representa uma gravação por segundo para uma linha com até 1 KB de tamanho. Todas as gravações estão usando `LOCAL_QUORUM` consistência e não há cobrança adicional pelo uso de transações leves (LWTs). Se você precisar gravar uma linha maior que 1 KB, a operação de gravação usa mais WCUs. 

  O número total WCUs necessário depende do tamanho da linha. Por exemplo, se o tamanho da linha for de 2 KB, você precisará de 2 WCUs para sustentar uma solicitação de gravação por segundo. Para obter mais informações sobre como calcular o consumo da capacidade de leitura e gravação de uma tabela, consulte [Estimar o consumo de capacidade do throughput de leitura e gravação no Amazon Keyspaces](capacity-examples.md).

Se seu aplicativo ler ou gravar linhas maiores (até o tamanho máximo de linha do Amazon Keyspaces de 1 MB), ele consumirá mais unidades de capacidade. Para saber mais sobre como estimar o tamanho da linha, consulte [Estimar o tamanho da linha no Amazon Keyspaces](calculating-row-size.md). Por exemplo, suponha que você crie uma tabela provisionada com 6 RCUs e 6. WCUs Com essas configurações, sua aplicação pode fazer o seguinte:
+ Execute `LOCAL_QUORUM` leituras de até 24 KB por segundo (4 KB × 6 RCUs).
+ Execute leituras `LOCAL_ONE` de até 48 KB por segundo (o dobro do throughput de leitura).
+ Grave até 6 KB por segundo (1 KB × 6 WCUs).

 *O throughput provisionado* é a quantidade máxima de capacidade de throughput que um aplicativo pode consumir de uma tabela. Se seu aplicativo exceder sua capacidade de throughput provisionada, você poderá observar erros de capacidade insuficientes. 

Por exemplo, uma solicitação de leitura que não tem capacidade de throughput suficiente falha com uma exceção `Read_Timeout` e é publicada na métrica `ReadThrottleEvents`. Uma solicitação de gravação que não tem capacidade de throughput suficiente falha com uma exceção `Write_Timeout` e é publicada na métrica `WriteThrottleEvents`. 

Você pode usar CloudWatch a Amazon para monitorar suas métricas de taxa de transferência provisionadas e reais e eventos de capacidade insuficiente. Para ter mais informações sobre essas métricas, consulte [Métricas e dimensões do Amazon Keyspaces](metrics-dimensions.md). 

**nota**  
Erros repetidos devido à capacidade insuficiente podem levar a exceções específicas do driver do lado do cliente, por exemplo, o driver DataStax Java falha com um. `NoHostAvailableException` 

Para alterar as configurações de capacidade de throughput para tabelas, você pode usar a instrução Console de gerenciamento da AWS ou `ALTER TABLE` usando CQL. Para obter mais informações, consulte [ALTER TABLE](cql.ddl.table.md#cql.ddl.table.alter).

Para saber mais sobre as cotas padrão da sua conta e como aumentá-las, consulte [Cotas para Amazon Keyspaces (para Apache Cassandra)](quotas.md).

# Exibir o modo de capacidade de uma tabela no Amazon Keyspaces
<a name="ReadWriteCapacityMode.ProvisionedThroughput.ManagingCapacity"></a>

Você pode consultar a tabela do sistema no espaço de chaves do sistema Amazon Keyspaces para revisar as informações do modo de capacidade sobre uma tabela. Você também pode ver se uma tabela está usando o modo de capacidade de throughput sob demanda ou provisionada. Se a tabela estiver configurada com o modo de capacidade de throughput provisionada, você poderá ver a capacidade de throughput provisionada para a tabela. 

Você também pode usar o AWS CLI para visualizar o modo de capacidade de uma tabela.

Para alterar o throughput provisionado de uma tabela, use [Alterar o modo de capacidade de uma tabela no Amazon Keyspaces](ReadWriteCapacityMode.SwitchReadWriteCapacityMode.md).

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

**Exemplo**

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

Uma tabela configurada com o modo de capacidade sob demanda retorna o seguinte.

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

Uma tabela configurada com o modo de capacidade de throughput provisionada retorna o seguinte.

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

O valor `last_update_to_pay_per_request_timestamp` é medido em milissegundos.

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

Visualize o modo de capacidade de taxa de transferência de uma tabela usando o AWS CLI

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

A saída do comando pode ser semelhante à seguinte para uma tabela no modo de capacidade provisionada.

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

A saída de uma tabela no modo sob demanda é semelhante a esta.

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

------

# Alterar o modo de capacidade de uma tabela no Amazon Keyspaces
<a name="ReadWriteCapacityMode.SwitchReadWriteCapacityMode"></a>

Quando você troca uma tabela de modo de capacidade provisionada para modo de capacidade sob demanda, o Amazon Keyspaces faz várias alterações na estrutura de sua tabela e suas partições. Esse processo pode levar alguns minutos. Durante o período de troca, sua tabela entrega throughput consistente com os valores de WCU e RCU provisionados anteriormente. 

Quando você alterna do modo de capacidade sob demanda de volta para o modo de capacidade provisionada, sua tabela fornece um throughput consistente com o pico anterior atingido quando a tabela foi definida para o modo de capacidade sob demanda.

Os períodos de espera a seguir se aplicam quando você alterna os modos de capacidade:
+ É possível alternar uma tabela recém-criada no modo sob demanda para o modo de capacidade provisionada a qualquer momento. No entanto, só é possível voltar ao modo sob demanda 24 horas após o carimbo de data e hora de criação da tabela. 
+ É possível alternar uma tabela existente no modo sob demanda para o modo de capacidade provisionada a qualquer momento. No entanto, você pode alternar os modos de capacidade provisionada para sob demanda somente uma vez em um período de 24 horas.

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

**Alterar o modo de capacidade de throughput de uma tabela usando CQL**

1. Para alterar o modo de capacidade de uma tabela para `PROVIOSIONED`, você precisa configurar as unidades de capacidade de leitura e de gravação com base nos valores de pico esperados da workload. A instrução a seguir é um exemplo disso. Você também pode executar essa instrução para ajustar a capacidade de leitura ou as unidades de capacidade de gravação da tabela.

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

   Para configurar o modo de capacidade provisionada com ajuste de escala automático, consulte [Configurar o ajuste de escala automático em uma tabela existente](autoscaling.configureTable.md).

1. Para alterar o modo de capacidade de uma tabela para o modo sob demanda, defina o modo de throughput como `PAY_PER_REQUEST`. A instrução a seguir é um exemplo disso.

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

1. Você pode usar a seguinte instrução para confirmar o modo de capacidade da tabela.

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

   Uma tabela configurada com o modo de capacidade sob demanda retorna o seguinte.

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

   O valor `last_update_to_pay_per_request_timestamp` é medido em milissegundos.

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

**Altere o modo de capacidade de taxa de transferência de uma tabela usando o AWS CLI**

1. Para alterar o modo de capacidade da tabela para `PROVIOSIONED`, você precisa configurar as unidades de capacidade de leitura e de gravação com base nos valores de pico esperados da workload. O comando a seguir é um exemplo disso. Você também pode executar esse comando para ajustar a capacidade de leitura ou as unidades de capacidade de gravação da tabela.

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

   Para configurar o modo de capacidade provisionada com ajuste de escala automático, consulte [Configurar o ajuste de escala automático em uma tabela existente](autoscaling.configureTable.md).

1. Para alterar o modo de capacidade de uma tabela para o modo sob demanda, você define o modo de throughput como `PAY_PER_REQUEST`. A instrução a seguir é um exemplo disso.

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

1. Use os comandos a seguir para analisar o modo de capacidade configurado para uma tabela.

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

   A saída de uma tabela no modo sob demanda é semelhante a esta.

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

------

# Configurar o preaquecimento para tabelas no Amazon Keyspaces
<a name="warm-throughput"></a>

O Amazon Keyspaces escala automaticamente as partições de armazenamento com base na taxa de transferência sob demanda ou provisionada, mas para novas tabelas ou picos repentinos de taxa de transferência, pode levar mais tempo para alocar as partições de armazenamento necessárias. *Para garantir que uma mesa nova ou existente tenha capacidade suficiente para suportar o pico de produtividade previsto, você pode definir manualmente valores específicos de taxa de *transferência quente* para pré-aquecer sua mesa.* 

A taxa de *transferência quente* se refere ao número de operações de leitura e gravação que sua tabela Amazon Keyspaces pode suportar instantaneamente. Esses valores estão disponíveis por padrão para todas as tabelas novas e existentes. Se você estiver usando o modo sob demanda ou se atualizar sua taxa de transferência provisionada, o Amazon Keyspaces garante que seu aplicativo seja capaz de emitir solicitações de até esses valores instantaneamente.

O Amazon Keyspaces ajusta automaticamente os valores de taxa de transferência quente à medida que seu uso aumenta. Para ajustar a capacidade de taxa de transferência para eventos de pico futuros, por exemplo, ao migrar dados de outro banco de dados, o que pode exigir o carregamento de terabytes de dados em um curto período de tempo, você pode aumentar manualmente os valores de taxa de transferência quente de suas tabelas. Isso é útil para eventos de pico planejados em que as taxas de solicitação podem aumentar em 10, 100 vezes ou mais. Primeiro, avalie se a taxa de transferência quente atual é suficiente para lidar com o tráfego esperado. [Então, se precisar pré-aquecer a mesa para o pico de carga de trabalho planejado, você pode aumentar o valor da taxa de transferência quente manualmente sem alterar as configurações de produção ou o modo de capacidade.](ReadWriteCapacityMode.md) 

Você pode pré-aquecer tabelas para operações de leitura, gravação ou ambas. Você pode aumentar esse valor para tabelas de região única e tabelas multirregionais novas e existentes, e as configurações de taxa de transferência quente definidas se aplicam automaticamente a todas as réplicas das tabelas multirregionais. Não há limite para o número de tabelas do Amazon Keyspaces que você pode pré-aquecer a qualquer momento. O tempo para concluir o pré-aquecimento depende dos valores definidos e do tamanho da tabela. Você pode enviar solicitações simultâneas de pré-aquecimento e essas solicitações não interferem em nenhuma operação da tabela. Você pode pré-aquecer sua mesa até o limite da cota de mesa da sua conta nessa região. Use o [console Service Quotas](https://console.aws.amazon.com/servicequotas) para verificar suas cotas atuais e aumentá-las, se necessário. 

Os valores de taxa de transferência quente que o Amazon Keyspaces ajusta com base no seu uso sob demanda ou na capacidade provisionada estão disponíveis por padrão para todas as tabelas sem custos adicionais. No entanto, se você aumentar manualmente os valores padrão de taxa de transferência de aquecimento para tabelas de pré-aquecimento para eventos de pico de tráfego, cobranças adicionais serão aplicadas. Para obter mais informações, consulte os [preços do Amazon Keyspaces](https://aws.amazon.com/keyspaces/pricing/).

Aqui estão alguns cenários e melhores práticas diferentes que você pode considerar ao pré-aquecer as tabelas do Amazon Keyspaces.

## Throughput a quente e padrões de acesso desiguais
<a name="warm-throughput-scenarios-uneven"></a>

Uma tabela pode ter uma taxa de transferência quente de 30.000 unidades de leitura por segundo e 10.000 unidades de gravação por segundo, mas você ainda pode experimentar eventos de capacidade excedida em leituras ou gravações antes de atingir esses valores. Isso provavelmente se deve a uma partição sobrecarregada. Embora o Amazon Keyspaces possa continuar escalando para suportar uma taxa de transferência praticamente ilimitada, cada partição individual é limitada a 1.000 unidades de gravação por segundo e 3.000 unidades de leitura por segundo. Se seu aplicativo direcionar muito tráfego para uma pequena parte das partições da tabela, eventos de capacidade excedida podem ocorrer mesmo antes de você atingir os valores de taxa de transferência quente da tabela. Recomendamos seguir as [melhores práticas do Amazon Keyspaces](bp-partition-key-design.md) para garantir uma escalabilidade perfeita e evitar partições ativas.

## Throughput a quente para uma tabela provisionada
<a name="warm-throughput-scenarios-provisioned"></a>

Considere uma tabela provisionada que tenha uma taxa de transferência quente de 30.000 unidades de leitura por segundo e 10.000 unidades de gravação por segundo, mas atualmente tenha uma taxa de transferência provisionada de 4.000 e 8.000. RCUs WCUs Você pode escalar instantaneamente a taxa de transferência provisionada da tabela para 30.000 RCUs ou 10.000 atualizando suas configurações de taxa de transferência WCUs provisionada. À medida que você aumenta a taxa de transferência provisionada além desses valores, a taxa de transferência quente se ajusta automaticamente aos novos valores mais altos, porque você estabeleceu uma nova taxa de transferência máxima. Por exemplo, se você definir a taxa de transferência provisionada para 50.000 RCU, a taxa de transferência quente aumentará para 50.000 unidades de leitura por segundo.

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

## Throughput a quente para uma tabela sob demanda
<a name="warm-throughput-scenarios-ondemand"></a>

Uma nova tabela sob demanda começa com um throughput a quente de 12 mil unidades de leitura por segundo e 4 mil unidades de gravação por segundo. Sua tabela pode acomodar instantaneamente o tráfego sustentado até esses níveis. Quando suas solicitações excedem 12.000 unidades de leitura por segundo ou 4.000 unidades de gravação por segundo, a taxa de transferência quente se ajusta automaticamente aos valores mais altos.

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

## Melhores práticas para pré-aquecer tabelas do Amazon Keyspaces
<a name="prewarming-best-practices"></a>

Siga estas melhores práticas ao implementar o pré-aquecimento para suas tabelas do Amazon Keyspaces:

Estime com precisão a capacidade necessária  
Como o pré-aquecimento tem um custo único, calcule cuidadosamente a taxa de transferência necessária com base na carga de trabalho esperada para evitar o excesso de provisionamento.

Considere o esquema da tabela  
Tabelas com linhas maiores podem exigir mais partições para a mesma taxa de transferência. Considere o tamanho médio da linha ao estimar os requisitos de pré-aquecimento.

Monitore o desempenho da mesa  
Após o pré-aquecimento, use CloudWatch métricas para verificar se sua tabela está lidando com a carga conforme o esperado. Para obter mais informações, consulte [Monitore o desempenho de uma mesa pré-aquecida usando a Amazon CloudWatch](monitor-prewarming-cloudwatch.md).

Gerenciar cotas  
Se seu aplicativo exigir uma taxa de transferência maior do que a permitida pelas cotas padrão (40.000 RCUs/WCUs ou 2.000 partições), a cota de solicitações aumentará bem antes do evento de alto tráfego. Para solicitar aumento de cota, use o [console do Service Quotas](https://console.aws.amazon.com/servicequotas).

Otimize custos  
Para eventos temporários de alto tráfego, considere usar o pré-aquecimento em vez de mudar para o modo provisionado com alta capacidade, pois ele pode ser mais econômico para eventos de curta duração. Para obter mais informações sobre preços, consulte os preços [do Amazon Keyspaces](https://aws.amazon.com/keyspaces/pricing/).

**nota**  
Monitore as métricas de desempenho do seu aplicativo durante a fase de teste para validar se sua configuração de pré-aquecimento suporta adequadamente seus requisitos de carga de trabalho.

**Topics**
+ [Throughput a quente e padrões de acesso desiguais](#warm-throughput-scenarios-uneven)
+ [Throughput a quente para uma tabela provisionada](#warm-throughput-scenarios-provisioned)
+ [Throughput a quente para uma tabela sob demanda](#warm-throughput-scenarios-ondemand)
+ [Melhores práticas para pré-aquecer tabelas do Amazon Keyspaces](#prewarming-best-practices)
+ [Criar uma tabela do Amazon Keyspaces com um throughput a quente mais alto](create-table-warm-throughput.md)
+ [Aumentar o throughput a quente da tabela existente do Amazon Keyspaces](update-warm-throughput.md)
+ [Veja a taxa de transferência quente de uma tabela do Amazon Keyspaces](view-warm-throughput.md)
+ [Monitore o desempenho de uma mesa pré-aquecida usando a Amazon CloudWatch](monitor-prewarming-cloudwatch.md)

# Criar uma tabela do Amazon Keyspaces com um throughput a quente mais alto
<a name="create-table-warm-throughput"></a>

Você pode ajustar os valores de taxa de transferência quente ao criar sua tabela Amazon Keyspaces usando o console, o CQL ou o. AWS CLI

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

**Como criar uma nova tabela com configurações de taxa de transferência a quente**

1. [Faça login no Console de gerenciamento da AWS e abra o console do Amazon Keyspaces em casahttps://console.aws.amazon.com/keyspaces/.](https://console.aws.amazon.com/keyspaces/home)

1. No painel de navegação, selecione **Tabelas** e **Criar tabela**.

1. Na página **Criar tabela**, na seção **Detalhes da tabela**, selecione um espaço de chaves e forneça um nome para a nova tabela.

1. Na seção **Colunas**, crie o esquema para sua tabela.

1. Na seção **Chave primária**, defina a chave primária da tabela e selecione colunas de clustering opcionais.

1. Na seção **Configurações da tabela**, selecione **Personalizar configurações**.

1. Continue com as configurações de **capacidade de leitura/gravação**.

1. Para o **modo Capacidade**, você pode escolher entre **Sob demanda** ou **Provisionado**.

1. Na seção **Pré-aquecimento para tabelas**, você pode aumentar os valores de unidades de **leitura por segundo e unidades** de **gravação por segundo** conforme necessário para preparar sua tabela para lidar com eventos de pico planejados.

   Os valores de taxa de transferência quente que o Amazon Keyspaces ajusta com base no seu uso sob demanda ou na capacidade provisionada estão disponíveis por padrão para todas as tabelas sem custos adicionais. Observe que, se você aumentar manualmente os valores padrão de taxa de transferência de aquecimento para pré-aquecer a tabela para eventos de pico de tráfego, cobranças adicionais serão aplicadas. 

1. Configure outros recursos opcionais da tabela conforme necessário. Em seguida, escolha **Criar tabela**.

------
#### [ Cassandra Query Language (CQL) ]
+ Crie uma tabela com taxa de transferência quente usando um dos seguintes métodos:
  + Para o modo provisionado, crie uma tabela e especifique a capacidade de pico esperada para leituras e gravações usando a seguinte sintaxe 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  
         }
    };
    ```
  + Para o modo sob demanda, crie uma tabela e especifique a capacidade de pico esperada para leituras e gravações usando a seguinte sintaxe 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  
         }
    };
    ```

  Para confirmar as configurações de capacidade da tabela, consulte[Veja a taxa de transferência quente de uma tabela do Amazon Keyspaces](view-warm-throughput.md).

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

1. Crie uma tabela com taxa de transferência quente usando um dos métodos a seguir usando o AWS CLI
   + Crie uma nova tabela no modo provisionado e especifique os valores de capacidade de pico esperados para leituras e gravações para ela. A instrução a seguir é um exemplo disso.

     ```
     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
     ```
   + Crie uma nova tabela no modo sob demanda e especifique os valores de capacidade de pico esperados para leituras e gravações para a nova tabela. A instrução a seguir é um exemplo disso.

     ```
     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. A saída do comando retorna o ARN da tabela, conforme mostrado no exemplo a seguir.

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

   Para confirmar as configurações de capacidade da tabela, consulte[Veja a taxa de transferência quente de uma tabela do Amazon Keyspaces](view-warm-throughput.md).

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

**Crie uma nova tabela usando o SDK for Java.**
+ Crie uma nova tabela no modo provisionado e especifique os valores de capacidade de pico esperados para leituras e gravações para ela. O exemplo de código a seguir é um exemplo disso.

  ```
  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());
      }
  }
  ```

------

# Aumentar o throughput a quente da tabela existente do Amazon Keyspaces
<a name="update-warm-throughput"></a>

Você pode aumentar os valores atuais de taxa de transferência quente da sua tabela Amazon Keyspaces usando o console, o CQL ou o. AWS CLI

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

**Como aumentar as configurações de pré-aquecimento de uma mesa usando o console**

1. [Faça login no Console de gerenciamento da AWS e abra o console do Amazon Keyspaces em casahttps://console.aws.amazon.com/keyspaces/.](https://console.aws.amazon.com/keyspaces/home)

1. No painel de navegação, escolha **Tabelas** e, em seguida, escolha a tabela que você deseja atualizar.

1. Na guia **Capacidade** da tabela, continue até **Pré-aquecimento das mesas**.

1. Na seção **Pré-aquecimento para tabelas**, escolha **Editar**.

1. Na página **Editar pré-aquecimento para tabelas**, você pode atualizar os valores para **unidades de leitura por segundo** e para **unidades de gravação por segundo**.

1. Escolha **Salvar alterações**. Sua tabela está sendo atualizada com as configurações de pré-aquecimento especificadas. 

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

**Aumente as configurações de taxa de transferência quente de uma tabela usando CQL**
+ Use a `ALTER TABLE` declaração para aumentar a taxa de aquecimento de uma tabela. A instrução a seguir é um exemplo disso.

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

  Para confirmar as configurações de capacidade atualizadas da tabela, consulte[Veja a taxa de transferência quente de uma tabela do Amazon Keyspaces](view-warm-throughput.md).

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

**Aumente as configurações de pré-aquecimento de uma mesa usando o AWS CLI**
+ Para aumentar a taxa de aquecimento da tabela, você pode usar o comando. `update-table` A instrução a seguir é um exemplo disso.

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

  Para confirmar as configurações de capacidade atualizadas da tabela, consulte[Veja a taxa de transferência quente de uma tabela do Amazon Keyspaces](view-warm-throughput.md).

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

**Atualize as configurações de pré-aquecimento de uma tabela usando o SDK for Java.**
+ Atualize as configurações de taxa de transferência de aquecimento de uma tabela. O exemplo de código a seguir é um exemplo disso.

  ```
  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());
      }
  }
  ```

------

# Veja a taxa de transferência quente de uma tabela do Amazon Keyspaces
<a name="view-warm-throughput"></a>

Você pode visualizar os valores atuais de taxa de transferência quente da tabela do Amazon Keyspaces usando o console, o CQL ou o. AWS CLI

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

**Como visualizar as configurações de pré-aquecimento da sua mesa usando o console.**

1. [Faça login no Console de gerenciamento da AWS e abra o console do Amazon Keyspaces em casahttps://console.aws.amazon.com/keyspaces/.](https://console.aws.amazon.com/keyspaces/home)

1. No painel de navegação, escolha **Tabelas** e, em seguida, escolha a tabela que você deseja revisar.

1. Na guia **Capacidade** da tabela, continue até **Pré-aquecimento das mesas**. 

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

**Visualize as configurações de taxa de transferência de aquecimento de uma tabela usando CQL**
+ Para visualizar as configurações de taxa de transferência de aquecimento de uma tabela, você pode usar a seguinte instrução 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 ]

**Visualize as configurações de taxa de transferência de aquecimento de uma tabela usando o AWS CLI**
+ Você pode visualizar as configurações de warm-throughput de uma tabela usando o `get-table` comando, conforme mostrado no exemplo a seguir.

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

  Veja a seguir o exemplo de saída do `get-table` comando para uma tabela de região única no modo provisionado.

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

  Veja a seguir o exemplo de saída de uma tabela de região única no modo sob demanda.

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

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

**Leia as configurações de pré-aquecimento de uma tabela usando o SDK for Java.**
+ Leia os valores de taxa de transferência de aquecimento de uma tabela usando. `get-table` O exemplo de código a seguir é um exemplo disso.

  ```
  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");
          }
      }
  }
  ```

------

# Monitore o desempenho de uma mesa pré-aquecida usando a Amazon CloudWatch
<a name="monitor-prewarming-cloudwatch"></a>

O pré-aquecimento do Amazon Keyspaces não introduz novas CloudWatch métricas, mas você pode monitorar o desempenho das tabelas pré-aquecidas usando as métricas existentes do Amazon Keyspaces:

SuccessfulRequestLatency  
Monitore essa métrica para verificar se a tabela pré-aquecida está processando solicitações com a latência esperada.

WriteThrottleEvents and ReadThrottleEvents  
Essas métricas devem permanecer baixas para uma mesa devidamente pré-aquecida. Se você observar erros de capacidade insuficientes apesar do pré-aquecimento, talvez seja necessário ajustar seus valores de taxa de transferência de aquecimento.

ConsumedReadCapacityUnits and ConsumedWriteCapacityUnits  
Essas métricas mostram o consumo real da capacidade, o que pode ajudar a validar se sua configuração de pré-aquecimento é apropriada.

ProvisionedReadCapacityUnits and ProvisionedWriteCapacityUnits  
Para tabelas provisionadas, essas métricas mostram a capacidade atualmente alocada.

Essas métricas podem ser visualizadas no CloudWatch console ou consultadas usando a CloudWatch API. Para obter mais informações, consulte [Monitorando o Amazon Keyspaces com a Amazon CloudWatch](monitoring-cloudwatch.md).