

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

# Como gerenciar os recursos de tecnologia sem servidor no Amazon Keyspaces (para Apache Cassandra)
<a name="serverless_resource_management"></a>

O Amazon Keyspaces (para Apache Cassandra) é uma tecnologia sem servidor. Em vez de implantar, gerenciar e manter recursos de armazenamento e computação para sua carga de trabalho por meio de nós em um cluster, o Amazon Keyspaces aloca recursos de armazenamento e taxa de transferência diretamente às tabelas. read/write 

O Amazon Keyspaces provisiona o armazenamento automaticamente com base nos dados armazenados em suas tabelas. Ele escalona o armazenamento à medida que você grava, atualiza e exclui dados, e paga somente pelo armazenamento que usa. Os dados são replicados em várias [ zonas de disponibilidade](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) para alta disponibilidade. O Amazon Keyspaces monitora continuamente o tamanho de suas tabelas para determinar suas cobranças de armazenamento. Para obter mais informações sobre como o Amazon Keyspaces calcula o tamanho faturável dos dados, consulte [Estimar o tamanho da linha no Amazon Keyspaces](calculating-row-size.md). 

Este capítulo aborda os principais aspectos do gerenciamento de recursos no Amazon Keyspaces.
+ **Estimar o tamanho da linha**: para estimar o tamanho codificado das linhas no Amazon Keyspaces, considere fatores como metadados de chave de partição, metadados de colunas em cluster, identificadores de coluna, tipos de dados e metadados de linha. Esse tamanho de linha codificado é usado para faturamento, gerenciamento de cotas e planejamento de capacidade de throughput provisionada. 
+ **Estimar o consumo de capacidade**: esta seção aborda exemplos de como estimar o consumo de capacidade de leitura e gravação para cenários comuns, como consultas de intervalo, consultas de limite, varreduras de tabelas, transações leves, colunas estáticas e tabelas multirregionais. Você pode usar CloudWatch a Amazon para monitorar a utilização real da capacidade. Para obter mais informações sobre o monitoramento com CloudWatch, consulte[Monitorando o Amazon Keyspaces com a Amazon CloudWatch](monitoring-cloudwatch.md).
+ **Configurar modos de read/write capacidade** — Você pode escolher entre dois modos de capacidade para processar leituras e gravações em suas tabelas: 
  + **Modo sob demanda (padrão)**: pague por solicitação pelo throughput de leitura e gravação. O Amazon Keyspaces pode escalar instantaneamente a capacidade para qualquer nível de tráfego alcançado previamente.
  + **Modo provisionado**: especifique o número necessário de unidades de capacidade de leitura e gravação com antecedência. Esse modo ajuda a manter o desempenho previsível do throughput. 
+ **Gerencie a capacidade de throughput com ajuste de escala automático**: para tabelas provisionadas, você pode ativar o ajuste de escala automático para ajustar a capacidade de throughput automaticamente com base no tráfego real do aplicativo. O Amazon Keyspaces usa o rastreamento de metas para aumentar ou diminuir a capacidade provisionada, mantendo a utilização dentro da meta especificada. 
+ **Usar a capacidade de expansão de forma eficaz**: o Amazon Keyspaces fornece capacidade de expansão reservando uma parte do throughput não utilizado para lidar com picos de tráfego. Essa flexibilidade permite expansões ocasionais de atividade além do throughput provisionado. 

Para solucionar erros de capacidade, consulte [Erros de capacidade de tecnologia sem servidor](troubleshooting.serverless.md#troubleshooting-serverless).

**Topics**
+ [Estimar o tamanho da linha no Amazon Keyspaces](calculating-row-size.md)
+ [Estimar o consumo de capacidade do throughput de leitura e gravação no Amazon Keyspaces](capacity-examples.md)
+ [Configurar modos de read/write capacidade no Amazon Keyspaces](ReadWriteCapacityMode.md)
+ [Gerencia automaticamente a capacidade de throughput com o ajuste de escala automático do Amazon Keyspaces](autoscaling.md)
+ [Use a capacidade de expansão de forma eficaz no Amazon Keyspaces](throughput-bursting.md)

# Estimar o tamanho da linha no Amazon Keyspaces
<a name="calculating-row-size"></a>

O Amazon Keyspaces fornece armazenamento totalmente gerenciado que oferece desempenho de leitura e gravação de milissegundos de um dígito e armazena dados de forma durável em várias zonas de disponibilidade. AWS O Amazon Keyspaces anexa metadados a todas as linhas e colunas de chave primária para oferecer suporte ao acesso eficiente aos dados e à alta disponibilidade.

Este tópico fornece detalhes sobre como estimar o tamanho codificado das linhas no Amazon Keyspaces. O tamanho codificado das linhas é usado ao calcular o uso da fatura e da cota. Você também pode usar o tamanho da linha codificada ao estimar os requisitos de capacidade de taxa de transferência provisionada para tabelas.

Para calcular o tamanho codificado das linhas no Amazon Keyspaces, é possível usar as diretrizes a seguir.

**Topics**
+ [Estime o tamanho codificado das colunas](#calculating-row-size-columns)
+ [Estime o tamanho codificado dos valores de dados com base no tipo de dados](#calculating-row-size-data-types)
+ [Considere o impacto dos recursos do Amazon Keyspaces no tamanho da linha](#calculating-row-size-features)
+ [Escolha a fórmula certa para calcular o tamanho codificado de uma linha](#calculating-row-size-formula)
+ [Exemplo de cálculo do tamanho da linha](#calculating-row-size-example)

## Estime o tamanho codificado das colunas
<a name="calculating-row-size-columns"></a>

Esta seção mostra como estimar o tamanho codificado das colunas no Amazon Keyspaces.
+ **Colunas regulares** — Para colunas regulares, que não são chaves primárias, colunas de agrupamento ou `STATIC` colunas, use o tamanho bruto dos dados da célula com base no [tipo de dados](cql.elements.md#cql.data-types) e adicione os metadados necessários. Os tipos de dados e algumas diferenças importantes na forma como o Amazon Keyspaces armazena valores de tipos de dados e metadados estão listados na próxima seção.
+ **Colunas de chave** de partição — As chaves de partição podem conter até 2048 bytes de dados. Cada coluna de chave na chave de partição requer até 3 bytes de metadados. Ao calcular o tamanho da sua linha, você deve assumir que cada coluna de chave de partição usa os 3 bytes completos de metadados.
+ **Colunas de agrupamento — As colunas** de agrupamento podem armazenar até 850 bytes de dados. Além do tamanho do valor dos dados, cada coluna de clustering exige até 20% do tamanho do valor dos dados para metadados. Ao calcular o tamanho da sua linha, você deve adicionar 1 byte de metadados para cada 5 bytes do valor dos dados da coluna de clustering.
**nota**  
Para oferecer suporte a consultas eficientes e indexação integrada, o Amazon Keyspaces armazena o valor dos dados de cada chave de partição e coluna de chave de agrupamento duas vezes.
+ **Nomes de coluna** — O espaço necessário para cada nome de coluna é armazenado usando um identificador de coluna e adicionado a cada valor de dados armazenado na coluna. O valor de armazenamento do identificador da coluna depende do número geral de colunas em sua tabela:
  + 1 a 62 colunas: 1 byte
  + 63 a 124 colunas: 2 bytes
  + 125 a 186 colunas: 3 bytes

  Para cada 62 colunas adicionais, adicione 1 byte. Observe que, no Amazon Keyspaces, até 225 colunas regulares podem ser modificadas com uma única instrução `INSERT` ou `UPDATE`. Para obter mais informações, consulte [Service Quotas do Amazon Keyspaces](quotas.md#table).

## Estime o tamanho codificado dos valores de dados com base no tipo de dados
<a name="calculating-row-size-data-types"></a>

Esta seção mostra como estimar o tamanho codificado de diferentes tipos de dados no Amazon Keyspaces.
+ **Tipos de string — Os tipos** de dados Cassandra `ASCII``TEXT`,, e `VARCHAR` string são todos armazenados no Amazon Keyspaces usando Unicode com codificação binária UTF-8. O tamanho de uma string no Amazon Keyspaces é igual ao número de bytes codificados em UTF-8.
+ **Tipos numéricos** — Cassandra`INT`,,, `BIGINT` `SMALLINT``TINYINT`, e `VARINT` os tipos de dados são armazenados no Amazon Keyspaces como valores de dados com comprimento variável, com até 38 dígitos significativos. Zeros iniciais e finais são cortados. O tamanho de qualquer um desses tipos de dados é de aproximadamente 1 byte por dois dígitos significativos \$1 1 byte.
+ **Tipo de blob** — A `BLOB` no Amazon Keyspaces é armazenado com o comprimento bruto do byte do valor.
+ **Tipo booleano** — O tamanho de um `Boolean` valor ou `Null` valor é de 1 byte.
+ **Tipos de coleção** — Uma coluna que armazena tipos de dados de coleta como `LIST` ou `MAP` exige 3 bytes de metadados, independentemente de seu conteúdo. O tamanho de um `LIST` ou `MAP` é (id da coluna) \$1 soma (tamanho dos elementos aninhados) \$1 (3 bytes). O tamanho de um `LIST` ou `MAP` vazio é (id da coluna) \$1 (3 bytes). Cada elemento individual `LIST` ou `MAP` também exige 1 byte de metadados.
+ **Tipos definidos pelo usuário** — Um [tipo definido pelo usuário (UDT)](udts.md) requer 3 bytes para metadados, independentemente de seu conteúdo. Para cada elemento do UDT, o Amazon Keyspaces exige um byte adicional de metadados.

  Para calcular o tamanho codificado de um UDT, comece com o `field name` e o `field value` para os campos de um UDT:
  + **nome do campo** — Cada nome de campo do UDT de nível superior é armazenado usando um identificador. O valor de armazenamento do identificador depende do número geral de campos em seu UDT de nível superior e pode variar entre 1 e 3 bytes: 
    + 1—62 campos: 1 byte
    + 63—124 campos: 2 bytes
    + 125— campos máximos: 3 bytes
  + **valor do campo** — Os bytes necessários para armazenar os valores de campo do UDT de nível superior dependem do tipo de dados armazenado:
    + **Tipo de dados escalar** — Os bytes necessários para armazenamento são os mesmos do mesmo tipo de dados armazenado em uma coluna normal.
    + **UDT congelada** — Para cada UDT aninhada congelada, a UDT aninhada tem o mesmo tamanho que teria no protocolo binário CQL. Para um UDT aninhado, 4 bytes são armazenados para cada campo (incluindo campos vazios) e o valor do campo armazenado é o formato de serialização do protocolo binário CQL do valor do campo.
    + **Coleções Frozen**: 
      + **LIST** **e SET** — Para um congelado aninhado `LIST` ou`SET`, 4 bytes são armazenados para cada elemento da coleção mais o formato de serialização do protocolo binário CQL do valor da coleção.
      + **MAP** — Para um congelado aninhado`MAP`, cada par de valores-chave tem os seguintes requisitos de armazenamento:
        + Para cada chave, aloque 4 bytes e, em seguida, adicione o formato de serialização do protocolo binário CQL da chave.
        + Para cada valor, aloque 4 bytes e, em seguida, adicione o formato de serialização do protocolo binário CQL do valor.
+ **Palavra-chave FROZEN** — Para coleções congeladas aninhadas em coleções congeladas, o Amazon Keyspaces não exige nenhum byte adicional para metadados.
+ **Palavra-chave STATIC** — os dados da `STATIC` coluna não contam para o tamanho máximo da linha de 1 MB. Para calcular o tamanho dos dados das colunas estáticas, consulte [Calcular o tamanho da coluna estática por partição lógica no Amazon Keyspaces](static-columns-estimate.md).

## Considere o impacto dos recursos do Amazon Keyspaces no tamanho da linha
<a name="calculating-row-size-features"></a>

Esta seção mostra como os recursos no Amazon Keyspaces afetam o tamanho codificado de uma linha.
+ Carimbos de **data/hora do lado do cliente — Os carimbos** de data/hora do lado do cliente são armazenados para cada coluna em cada linha quando o recurso é ativado. Esses carimbos de data/hora ocupam aproximadamente 20 a 40 bytes (dependendo dos seus dados) e contribuem para o custo de armazenamento e throughput da linha. Para obter mais informações sobre carimbos de data/hora do lado do cliente, consulte. [Carimbos de data/hora do lado do cliente no Amazon Keyspaces](client-side-timestamps.md)
+ **Time to Live (TTL)** — Os metadados TTL ocupam aproximadamente 8 bytes por linha quando o recurso é ativado. Além disso, os metadados TTL são armazenados para cada coluna de cada linha. Os metadados TTL ocupam aproximadamente 8 bytes para cada coluna que armazena um tipo de dados escalar ou uma coleção congelada. Se a coluna armazenar um tipo de dados de coleta que não esteja congelado, para cada elemento da coleção, o TTL exigirá aproximadamente 8 bytes adicionais para metadados. Para uma coluna que armazena um tipo de dados de coleta quando o TTL está ativado, você pode usar a fórmula a seguir.

  ```
  total encoded size of column = (column id) + sum (nested elements + collection metadata (1 byte) + TTL metadata (8 bytes)) +  collection column metadata (3 bytes)
  ```

  Os metadados TTL contribuem para o custo de armazenamento e taxa de transferência da linha. Para mais informações sobre TTL, consulte [Dados expirados com vida útil (TTL) para Amazon Keyspaces (para Apache Cassandra)](TTL.md).

## Escolha a fórmula certa para calcular o tamanho codificado de uma linha
<a name="calculating-row-size-formula"></a>

Esta seção mostra as diferentes fórmulas que você pode usar para estimar os requisitos de armazenamento ou capacidade de transferência para uma linha de dados no Amazon Keyspaces.

O tamanho total codificado de uma linha de dados pode ser estimado com base em uma das seguintes fórmulas, com base em sua meta:
+ **Capacidade de processamento** — Para estimar o tamanho codificado de uma linha para avaliar as unidades de read/write solicitação necessárias ()RRUs/WRUs) or read/write capacity units (RCUs/WCUs:

  ```
  total encoded size of row = partition key columns + clustering columns + regular columns
  ```
+ **Tamanho do armazenamento** — Para estimar o tamanho codificado de uma linha para prever a`BillableTableSizeInBytes`, adicione os metadados necessários para o armazenamento da linha:

  ```
  total encoded size of row = partition key columns + clustering columns + regular columns + row metadata (100 bytes)
  ```

**Importante**  
Todos os metadados da coluna, por exemplo, ids de coluna, metadados de chave de partição, metadados de colunas de agrupamento, bem como carimbos de data/hora do lado do cliente, TTL e metadados de linha, contam para o tamanho máximo de linha de 1 MB.

## Exemplo de cálculo do tamanho da linha
<a name="calculating-row-size-example"></a>

Considere o exemplo a seguir de uma tabela em que todas as colunas são do tipo inteiro. A tabela tem duas colunas de chave de partição, duas colunas de clustering e uma coluna regular. Como essa tabela tem cinco colunas, o espaço necessário para o identificador do nome da coluna é de 1 byte.

```
CREATE TABLE mykeyspace.mytable(pk_col1 int, pk_col2 int, ck_col1 int, ck_col2 int, reg_col1 int, primary key((pk_col1, pk_col2),ck_col1, ck_col2));
```

Neste exemplo, calculamos o tamanho dos dados quando escrevemos uma linha na tabela, conforme mostrado na instrução a seguir:

```
INSERT INTO mykeyspace.mytable (pk_col1, pk_col2, ck_col1, ck_col2, reg_col1) values(1,2,3,4,5);
```

Para estimar o total de bytes exigidos por essa operação de gravação, você pode usar as etapas a seguir.

1. Calcule o tamanho de uma coluna de chave de partição adicionando os bytes do tipo de dados armazenado na coluna e os bytes de metadados. Repita isso para todas as colunas da chave de partição.

   1. Calcule o tamanho da primeira coluna da chave de partição (pk\$1col1):

      ```
      (2 bytes for the integer data type) x 2 + 1 byte for the column id + 3 bytes for partition key metadata = 8 bytes
      ```

   1. Calcule o tamanho da segunda coluna da chave de partição (pk\$1col2): 

      ```
      (2 bytes for the integer data type) x 2 + 1 byte for the column id + 3 bytes for partition key metadata = 8 bytes
      ```

   1. Adicione as duas colunas para obter o tamanho total estimado das colunas da chave de partição: 

      ```
      8 bytes + 8 bytes = 16 bytes for the partition key columns
      ```

1. Calcule o tamanho de uma coluna de clustering adicionando os bytes do tipo de dados armazenado na coluna e os bytes de metadados. Repita isso para todas as colunas de clustering.

   1. Calcule o tamanho da primeira coluna de clustering (ck\$1col1):

      ```
      (2 bytes for the integer data type) x 2 + 20% of the data value (2 bytes) for clustering column metadata + 1 byte for the column id  = 6 bytes
      ```

   1. Calcule o tamanho da segunda coluna de clustering (ck\$1col2):

      ```
      (2 bytes for the integer data type) x 2 + 20% of the data value (2 bytes) for clustering column metadata + 1 byte for the column id = 6 bytes
      ```

   1. Adicione as duas colunas para obter o tamanho total estimado das colunas de clustering:

      ```
      6 bytes + 6 bytes = 12 bytes for the clustering columns
      ```

1. Adicione o tamanho das colunas regulares. Neste exemplo, temos apenas uma coluna que armazena um número inteiro de um único dígito, o que requer 2 bytes com 1 byte para o id da coluna.

1. Por fim, para obter o tamanho total da linha codificada, some os bytes de todas as colunas. Para estimar o tamanho faturável do armazenamento, adicione os 100 bytes adicionais para os metadados da linha:

   ```
   16 bytes for the partition key columns + 12 bytes for clustering columns + 3 bytes for the regular column + 100 bytes for row metadata = 131 bytes.
   ```

Para saber como monitorar recursos sem servidor com a Amazon CloudWatch, consulte. [Monitorando o Amazon Keyspaces com a Amazon CloudWatch](monitoring-cloudwatch.md)

# Estimar o consumo de capacidade do throughput de leitura e gravação no Amazon Keyspaces
<a name="capacity-examples"></a>

Quando você lê ou grava dados no Amazon Keyspaces, a quantidade de unidades de read/write solicitação (RRUs/WRUs) or read/write capacity units (RCUs/WCUs) que sua consulta consome depende da quantidade total de dados que o Amazon Keyspaces precisa processar para executar a consulta. Em alguns casos, os dados retornados ao cliente podem ser um subconjunto dos dados que o Amazon Keyspaces precisou ler para processar a consulta. Para gravações condicionais, o Amazon Keyspaces consome a capacidade de gravação mesmo se a verificação condicional falhar.

Para estimar a quantidade total de dados que estão sendo processados para uma solicitação, é preciso considerar o tamanho codificado de uma linha e o número total de linhas. Este tópico aborda alguns exemplos de cenários comuns e padrões de acesso para mostrar como o Amazon Keyspaces processa consultas e como isso afeta o consumo de capacidade. Você pode seguir os exemplos para estimar os requisitos de capacidade de suas tabelas e usar CloudWatch a Amazon para observar o consumo de capacidade de leitura e gravação nesses casos de uso.

Para obter informações sobre como calcular o tamanho codificado das linhas no Amazon Keyspaces, consulte [Estimar o tamanho da linha no Amazon Keyspaces](calculating-row-size.md).

**Topics**
+ [Estimar o consumo de capacidade de consultas de intervalo no Amazon Keyspaces](range_queries.md)
+ [Estimar o consumo de capacidade de leitura de consultas limitadas](limit_queries.md)
+ [Estimar o consumo da capacidade de leitura das varreduras de tabelas](table_scans.md)
+ [Estimar o consumo de capacidade de transações leves no Amazon Keyspaces](lightweight_transactions.md)
+ [Estimar o consumo de capacidade para colunas estáticas no Amazon Keyspaces](static-columns.md)
+ [Estimar e provisionar a capacidade para uma tabela multirregional no Amazon Keyspaces](tables-multi-region-capacity.md)
+ [Estime o consumo da capacidade de leitura e gravação com a Amazon CloudWatch no Amazon Keyspaces](estimate_consumption_cw.md)

# Estimar o consumo de capacidade de consultas de intervalo no Amazon Keyspaces
<a name="range_queries"></a>

 Para analisar o consumo de capacidade de leitura de uma consulta de intervalo, usamos a tabela de exemplo a seguir, que está usando o modo de capacidade sob demanda. 

```
pk1 | pk2 | pk3 | ck1 | ck2 | ck3 | value
-----+-----+-----+-----+-----+-----+-------
a | b | 1 | a | b | 50 | <any value that results in a row size larger than 4KB>
a | b | 1 | a | b | 60 | value_1
a | b | 1 | a | b | 70 | <any value that results in a row size larger than 4KB>
```

Agora execute a consulta a seguir nessa tabela.

```
SELECT * FROM amazon_keyspaces.example_table_1 WHERE pk1='a' AND pk2='b' AND pk3=1 AND ck1='a' AND ck2='b' AND ck3 > 50 AND ck3 < 70;
```

Você recebe o seguinte conjunto de resultados da consulta e a operação de leitura realizada pelo Amazon Keyspaces consome 2 RRUs no `LOCAL_QUORUM` modo de consistência.

```
pk1 | pk2 | pk3 | ck1 | ck2 | ck3 | value
-----+-----+-----+-----+-----+-----+-------
a | b | 1 | a | b | 60 | value_1
```

O Amazon Keyspaces consome 2 RRUs para avaliar as linhas com os valores `ck3=60` e processar `ck3=70` a consulta. No entanto, o Amazon Keyspaces retorna somente a linha em que a condição `WHERE` especificada na consulta é verdadeira, que é a linha com valor `ck3=60`. Para avaliar o intervalo especificado na consulta, o Amazon Keyspaces lê a linha correspondente ao limite superior do intervalo, nesse caso `ck3 = 70`, mas não retorna essa linha no resultado. O consumo da capacidade de leitura é baseado nos dados lidos durante o processamento da consulta, não nos dados retornados.

# Estimar o consumo de capacidade de leitura de consultas limitadas
<a name="limit_queries"></a>

 Ao processar uma consulta que usa a cláusula `LIMIT`, o Amazon Keyspaces lê as linhas até o tamanho máximo da página ao tentar corresponder à condição especificada na consulta. Se o Amazon Keyspaces não conseguir encontrar dados correspondentes suficientes que correspondam ao valor `LIMIT` na primeira página, podem ser necessárias uma ou mais chamadas paginadas. Para continuar as leituras na próxima página, você pode usar um token de paginação. O tamanho de página padrão é 1 MB. Para consumir menos capacidade de leitura ao usar cláusulas `LIMIT`, você pode reduzir o tamanho da página. Para obter mais informações sobre paginação, consulte [Paginar resultados no Amazon Keyspaces](paginating-results.md).

Por exemplo, vejamos a seguinte consulta.

```
SELECT * FROM my_table WHERE partition_key=1234 LIMIT 1;
```

Se você não definir o tamanho da página, o Amazon Keyspaces lê 1 MB de dados, mesmo que retorne apenas 1 linha para você. Para que o Amazon Keyspaces leia apenas uma linha, você pode definir o tamanho da página como 1 para essa consulta. Nesse caso, o Amazon Keyspaces só leria uma linha, desde que você não tivesse linhas expiradas com base nas Time-to-live configurações ou nos timestamps do lado do cliente. 

O `PAGE SIZE` parâmetro determina quantas linhas o Amazon Keyspaces escaneia do disco para cada solicitação, não quantas linhas o Amazon Keyspaces retorna ao cliente. O Amazon Keyspaces aplica os filtros que você fornece, por exemplo, desigualdade em colunas que não são chave ou `LIMIT` depois de escanear os dados em disco. Se você não definir explicitamente o`PAGE SIZE`, o Amazon Keyspaces lê até 1 MB de dados antes de aplicar os filtros. Por exemplo, se você estiver usando `LIMIT 1` sem especificar o`PAGE SIZE`, o Amazon Keyspaces poderá ler milhares de linhas do disco antes de aplicar a cláusula de limite e retornar somente uma única linha.

Para evitar leitura excessiva, reduza o, o `PAGE SIZE` que reduz o número de linhas que o Amazon Keyspaces escaneia para cada busca. Por exemplo, se você definir `LIMIT 5` em sua consulta, defina um valor entre 5 e 10 `PAGE SIZE` para que o Amazon Keyspaces escaneie somente de 5 a 10 linhas em cada chamada paginada. Você pode modificar esse número para reduzir o número de buscas. Para limites maiores que o tamanho da página, o Amazon Keyspaces mantém a contagem total de resultados com o estado da paginação. No caso `LIMIT` de 10.000 linhas, o Amazon Keyspaces pode buscar esses resultados em duas páginas de 5.000 linhas cada. O limite de 1 MB é o limite superior para qualquer tamanho de página definido.

# Estimar o consumo da capacidade de leitura das varreduras de tabelas
<a name="table_scans"></a>

As consultas que resultam em varreduras completas da tabela, como por exemplo, consultas usando a opção `ALLOW FILTERING`, são outro exemplo de consultas que processam mais leituras do que as que retornam como resultados. E o consumo da capacidade de leitura é baseado nos dados lidos, não nos dados retornados.

Para o exemplo de varredura de tabela, usamos a tabela a seguir no modo de capacidade sob demanda.

```
pk | ck | value
---+----+---------
pk | 10 | <any value that results in a row size larger than 4KB>
pk | 20 | value_1 
pk | 30 | <any value that results in a row size larger than 4KB>
```

Por padrão, o Amazon Keyspaces cria uma tabela no modo de capacidade sob demanda com quatro partições. Nesta tabela de exemplo, todos os dados são armazenados em uma partição e as três partições restantes estão vazias.

Agora execute a consulta a seguir na tabela.

```
SELECT * from amazon_keyspaces.example_table_2;
```

Essa consulta resulta em uma operação de varredura de tabela em que o Amazon Keyspaces escaneia todas as quatro partições da tabela e consome 6 no modo de consistência. RRUs `LOCAL_QUORUM` Primeiro, o Amazon Keyspaces consome 3 RRUs para ler as três linhas com. `pk=‘pk’` Em seguida, o Amazon Keyspaces consome os 3 adicionais RRUs para escanear as três partições vazias da tabela. Como essa consulta resulta em uma varredura de tabela, o Amazon Keyspaces varre todas as partições na tabela, incluindo partições sem dados. 

# Estimar o consumo de capacidade de transações leves no Amazon Keyspaces
<a name="lightweight_transactions"></a>

As transações leves (LWT) permitem que você execute operações de gravação condicional nos dados da tabela. As operações de atualização condicional são úteis ao inserir, atualizar e excluir registros com base nas condições que avaliam o estado atual. 

No Amazon Keyspaces, todas as operações de gravação exigem a consistência LOCAL\$1QUORUM e não há cobrança adicional pelo uso. LWTs A diferença LWTs é que, quando uma verificação de condição de LWT resulta`FALSE`, o Amazon Keyspaces consome unidades de capacidade de gravação WCUs () ou unidades de solicitação de gravação (). WRUs O número de WCUs/WRUs consumidos depende do tamanho da linha. 

Por exemplo, se o tamanho da linha for 2 KB, a falha na gravação condicional consumirá dois WCUs/. WRUs Se a linha não existir atualmente na tabela, a operação consumirá um WCUs/WRUs. 

Para determinar o número de solicitações que resultaram em falhas na verificação de condições, você pode monitorar a `ConditionalCheckFailed` métrica em CloudWatch.

## Estime os custos de LWT para tabelas com Time to Live (TTL)
<a name="lightweight_transactions_ttl"></a>

LWTs pode exigir unidades adicionais de capacidade de leitura (RCUs) ou unidades de solicitação de leitura (RRUs) para tabelas configuradas com TTL que não usam timestamps do lado do cliente. Ao usar `IF EXISTS` nossos resultados de verificação de condição de `IF NOT EXISTS` palavras-chave`FALSE`, as seguintes unidades de capacidade são consumidas:
+ RCUs/RRUs – If the row exists, the RCUs/RRUsconsumidos são baseados no tamanho da linha existente.
+ RCUs/RRUs – If the row doesn't exist, a single RCU/RRUé consumido.

Se a condição avaliada resultar em uma operação de gravação bem-sucedida, WCUs/WRUs serão consumidas com base no tamanho da nova linha.

# Estimar o consumo de capacidade para colunas estáticas no Amazon Keyspaces
<a name="static-columns"></a>

Em uma tabela do Amazon Keyspaces com colunas de clustering, você pode usar a palavra-chave `STATIC` para criar uma coluna estática. O valor armazenado em uma coluna estática é compartilhado entre todas as linhas em uma partição lógica. Quando você atualiza o valor dessa coluna, o Amazon Keyspaces aplica a alteração automaticamente a todas as linhas na partição. 

Esta seção descreve como calcular o tamanho codificado dos dados ao gravar em colunas estáticas. Esse processo é tratado separadamente do processo que grava dados nas colunas não estáticas de uma linha. Além das cotas de tamanho para dados estáticos, as operações de leitura e gravação em colunas estáticas também afetam a medição e capacidade de throughput das tabelas de forma independente. Para diferenças funcionais com o Apache Cassandra ao usar colunas estáticas e resultados de leitura de intervalos paginados, consulte [Paginação](functional-differences.md#functional-differences.paging).

**Topics**
+ [Calcular o tamanho da coluna estática por partição lógica no Amazon Keyspaces](static-columns-estimate.md)
+ [Estime os requisitos de capacidade e taxa de transferência para read/write operações com dados estáticos no Amazon Keyspaces](static-columns-metering.md)

# Calcular o tamanho da coluna estática por partição lógica no Amazon Keyspaces
<a name="static-columns-estimate"></a>

Esta seção fornece detalhes sobre como estimar o tamanho codificado das colunas estáticas no Amazon Keyspaces. O tamanho codificado é usado ao calcular o uso da fatura e da cota. Você também deve usar o tamanho codificado ao calcular os requisitos de capacidade de throughput provisionada para tabelas. Para calcular o tamanho codificado das colunas estáticas no Amazon Keyspaces, é possível usar as diretrizes a seguir.
+ As chaves de partição podem conter até 2.048 bytes de dados. Cada coluna de chave na chave de partição requer até 3 bytes de metadados. Esses bytes de metadados contam para sua cota de tamanho de dados estáticos de 1 MB por partição. Ao calcular o tamanho de seus dados estáticos, você deve assumir que cada coluna de chave de partição usa os 3 bytes completos de metadados.
+ Use o tamanho bruto dos valores de dados da coluna estática com base no tipo de dados. Para obter informações sobre tipos de dados, consulte [Tipos de dados](cql.elements.md#cql.data-types).
+ Adicione 104 bytes ao tamanho dos dados estáticos para metadados.
+ Colunas de clustering e colunas de chave não primária regulares não contam para o tamanho dos dados estáticos. Para saber como estimar o tamanho dos dados não estáticos dentro das linhas, consulte [Estimar o tamanho da linha no Amazon Keyspaces](calculating-row-size.md).

O tamanho total codificado de uma coluna estática é baseado na seguinte fórmula:

```
partition key columns + static columns + metadata = total encoded size of static data
```

Considere o exemplo a seguir de uma tabela em que todas as colunas são do tipo inteiro. A tabela tem duas colunas de chave de partição, duas colunas de clustering, uma coluna regular e uma coluna estática.

```
CREATE TABLE mykeyspace.mytable(pk_col1 int, pk_col2 int, ck_col1 int, ck_col2 int, reg_col1 int, static_col1 int static, primary key((pk_col1, pk_col2),ck_col1, ck_col2));
```

Neste exemplo, calculamos o tamanho dos dados estáticos da seguinte instrução:

```
INSERT INTO mykeyspace.mytable (pk_col1, pk_col2, static_col1) values(1,2,6);
```

Para estimar o total de bytes exigidos por essa operação de gravação, você pode usar as etapas a seguir.

1. Calcule o tamanho de uma coluna de chave de partição adicionando os bytes do tipo de dados armazenado na coluna e os bytes de metadados. Repita isso para todas as colunas da chave de partição.

   1. Calcule o tamanho da primeira coluna da chave de partição (pk\$1col1):

      ```
      4 bytes for the integer data type + 3 bytes for partition key metadata = 7 bytes
      ```

   1. Calcule o tamanho da segunda coluna da chave de partição (pk\$1col2): 

      ```
      4 bytes for the integer data type + 3 bytes for partition key metadata = 7 bytes
      ```

   1. Adicione as duas colunas para obter o tamanho total estimado das colunas da chave de partição: 

      ```
      7 bytes + 7 bytes = 14 bytes for the partition key columns
      ```

1. Adicione o tamanho das colunas estáticas. Neste exemplo, temos apenas uma coluna estática que armazena um número inteiro (o que exige 4 bytes).

1. Por fim, para obter o tamanho total codificado dos dados da coluna estática, some os bytes das colunas da chave primária e das colunas estáticas e adicione os 104 bytes adicionais dos metadados:

   ```
   14 bytes for the partition key columns + 4 bytes for the static column + 104 bytes for metadata = 122 bytes.
   ```

Você também pode atualizar dados estáticos e não estáticos com a mesma instrução. Para estimar o tamanho total da operação de gravação, você deve primeiro calcular o tamanho da atualização não estática de dados. Em seguida, calcule o tamanho da atualização da linha, conforme mostrado no exemplo em [Estimar o tamanho da linha no Amazon Keyspaces](calculating-row-size.md), e adicione os resultados. 

Nesse caso, você pode gravar um total de 2 MB — 1 MB é a cota máxima de tamanho de linha e 1 MB é a cota para o tamanho máximo de dados estáticos por partição lógica.

Para calcular o tamanho total de uma atualização de dados estáticos e não estáticos na mesma instrução, você pode usar a seguinte fórmula:

```
(partition key columns + static columns + metadata = total encoded size of static data) + (partition key columns + clustering columns + regular columns + row metadata = total encoded size of row)
= total encoded size of data written
```

Considere o exemplo a seguir de uma tabela em que todas as colunas são do tipo inteiro. A tabela tem duas colunas de chave de partição, duas colunas de clustering, uma coluna regular e uma coluna estática.

```
CREATE TABLE mykeyspace.mytable(pk_col1 int, pk_col2 int, ck_col1 int, ck_col2 int, reg_col1 int, static_col1 int static, primary key((pk_col1, pk_col2),ck_col1, ck_col2));
```

Neste exemplo, calculamos o tamanho dos dados quando escrevemos uma linha na tabela, conforme mostrado na instrução a seguir:

```
INSERT INTO mykeyspace.mytable (pk_col1, pk_col2, ck_col1, ck_col2, reg_col1, static_col1) values(2,3,4,5,6,7);
```

Para estimar o total de bytes exigidos por essa operação de gravação, você pode usar as etapas a seguir.

1. Calcule o tamanho total codificado dos dados estáticos conforme mostrado anteriormente. Neste exemplo, são 122 bytes.

1. Adicione o tamanho do tamanho total codificado da linha com base na atualização de dados não estáticos, seguindo as etapas em [Estimar o tamanho da linha no Amazon Keyspaces](calculating-row-size.md). Neste exemplo, o tamanho total da atualização da linha é 134 bytes.

   ```
   122 bytes for static data + 134 bytes for nonstatic data = 256 bytes.
   ```

# Estime os requisitos de capacidade e taxa de transferência para read/write operações com dados estáticos no Amazon Keyspaces
<a name="static-columns-metering"></a>

Os dados estáticos estão associados a partições lógicas no Cassandra, não a linhas individuais. As partições lógicas no Amazon Keyspaces podem ter tamanho praticamente ilimitado, abrangendo várias partições de armazenamento físico. Como resultado, os medidores do Amazon Keyspaces gravam operações em dados estáticos e não estáticos separadamente. Além disso, gravações que incluem dados estáticos e não estáticos exigem operações subjacentes adicionais para fornecer consistência de dados. 

Se você realizar uma operação de gravação mista de dados estáticos e não estáticos, isso resultará em duas operações de gravação separadas — uma para dados não estáticos e outra para dados estáticos. Isso se aplica aos modos de capacidade sob demanda e provisionada. read/write 

O exemplo a seguir fornece detalhes sobre como estimar as unidades de capacidade de leitura (RCUs) e unidades de capacidade de gravação (WCUs) necessárias ao calcular os requisitos de capacidade de transferência provisionada para tabelas no Amazon Keyspaces que têm colunas estáticas. Você pode estimar quanta capacidade sua tabela precisa para processar gravações que incluam dados estáticos e não estáticos usando a seguinte fórmula:

```
2 x WCUs required for nonstatic data + 2 x WCUs required for static data
```

Por exemplo, se seu aplicativo grava 27% KBs de dados por segundo e cada gravação inclui 25,5 KBs de dados não estáticos e 1,5 KBs de dados estáticos, sua tabela exige 56 WCUs (2 x 26 WCUs \$1 2 x 2 WCUs).

O Amazon Keyspaces mede as leituras de dados estáticos e não estáticos da mesma forma que as leituras de várias linhas. Como resultado, o preço da leitura de dados estáticos e não estáticos na mesma operação é baseado no tamanho agregado dos dados processados para realizar a leitura.

Para saber como monitorar recursos sem servidor com a Amazon CloudWatch, consulte. [Monitorando o Amazon Keyspaces com a Amazon CloudWatch](monitoring-cloudwatch.md)

# Estimar e provisionar a capacidade para uma tabela multirregional no Amazon Keyspaces
<a name="tables-multi-region-capacity"></a>

Você pode configurar a capacidade de throughput de uma tabela multirregional de uma destas duas maneiras:
+ Modo de capacidade sob demanda, medido em unidades de solicitação de gravação () WRUs
+ Modo de capacidade provisionada com escalabilidade automática, medido em unidades de capacidade de gravação () WCUs

Você pode usar o modo de capacidade provisionada com escalabilidade automática ou o modo de capacidade sob demanda para ajudar a garantir que uma tabela multirregional tenha capacidade suficiente para realizar gravações replicadas em todas. Regiões da AWS

**nota**  
A alteração do modo de capacidade da tabela em uma das regiões altera o modo de capacidade de todas as réplicas.

Por padrão, o Amazon Keyspaces usa o modo sob demanda para tabelas multirregionais. No modo sob demanda, não é necessário especificar o throughput de leitura e gravação que você espera que sua aplicação execute. O Amazon Keyspaces acomoda instantaneamente o crescimento e a redução das workloads para qualquer nível de tráfego previamente registrado. Se o nível de tráfego de uma workload atingir um novo pico, o Amazon Keyspaces faz adaptações rapidamente para acomodar a workload.

Se você escolher o modo de capacidade provisionada para uma tabela, precisará configurar o número de unidades de capacidade de leitura (RCUs) e unidades de capacidade de gravação (WCUs) por segundo que seu aplicativo exige. 

Para planejar as necessidades de capacidade de taxa de transferência de uma tabela multirregional, você deve primeiro estimar o número de WCUs por segundo necessário para cada região. Em seguida, você adiciona as gravações de todas as regiões nas quais sua tabela é replicada e usa a soma para provisionar a capacidade de cada região. Isso é necessário porque cada gravação realizada em uma região também deve ser repetida em cada região de réplica. 

Se a tabela não tiver capacidade suficiente para lidar com as gravações de todas as regiões, ocorrerão exceções de capacidade. Além disso, os tempos de espera de replicação inter-regional aumentarão.

Por exemplo, se você tiver uma tabela multirregional na qual espera 5 gravações por segundo no Leste dos EUA (Norte da Virgínia), 10 gravações por segundo no Leste dos EUA (Ohio) e 5 gravações por segundo na Europa (Irlanda), você deve esperar que a tabela consuma 20 WCUs em cada região: Leste dos EUA (Norte da Virgínia), Leste dos EUA (Ohio) e Europa (Irlanda). Isso significa que, neste exemplo, você precisa provisionar 20 WCUs para cada uma das réplicas da tabela. Você pode monitorar o consumo de capacidade da sua mesa usando a Amazon CloudWatch. Para obter mais informações, consulte [Monitorando o Amazon Keyspaces com a Amazon CloudWatch](monitoring-cloudwatch.md). 

Cada gravação é cobrada como 1 WCU, então você veria um total de 60 WCUs cobradas neste exemplo. Para obter mais informações sobre preços, consulte o [Amazon Keyspaces (para Apache Cassandra)](https://aws.amazon.com/keyspaces/pricing). 

Para obter mais informações sobre capacidade provisionada com o ajuste de escala automático do Amazon Keyspaces, consulte [Gerencia automaticamente a capacidade de throughput com o ajuste de escala automático do Amazon Keyspaces](autoscaling.md). 

**nota**  
Se uma tabela estiver sendo executada no modo de capacidade provisionada com ajuste de escala automático, a capacidade de gravação provisionada poderá flutuar dentro das configurações de ajuste de escala automático de cada região. 

# Estime o consumo da capacidade de leitura e gravação com a Amazon CloudWatch no Amazon Keyspaces
<a name="estimate_consumption_cw"></a>

Para estimar e monitorar o consumo da capacidade de leitura e gravação, você pode usar um CloudWatch painel. Para obter mais informações sobre as métricas disponíveis para o Amazon Keyspaces, consulte [Métricas e dimensões do Amazon Keyspaces](metrics-dimensions.md). 

Para monitorar as unidades de capacidade de leitura e gravação consumidas por uma instrução específica com CloudWatch, você pode seguir estas etapas.

1. Criar uma tabela com dados de amostra

1. Configure um CloudWatch painel do Amazon Keyspaces para a tabela. Para começar, você pode usar um modelo de painel disponível no [Github](https://github.com/aws-samples/amazon-keyspaces-cloudwatch-cloudformation-templates).

1. Execute a instrução CQL, por exemplo, usando a opção `ALLOW FILTERING` e verifique as unidades de capacidade de leitura consumidas para a verificação completa da tabela no painel.

# 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).

# Gerencia automaticamente a capacidade de throughput com o ajuste de escala automático do Amazon Keyspaces
<a name="autoscaling"></a>

Muitas cargas de trabalho de banco de dados são cíclicas por natureza ou são difíceis de prever com antecedência. Por exemplo, considere um aplicativo de rede social na qual a maioria dos usuários está ativa durante o horário diurno. O banco de dados deve ser capaz de lidar com a atividade durante o dia, mas não há necessidade dos mesmos níveis de throughput à noite. 

Outro exemplo pode ser um novo aplicativo de jogos para celular que está passando por uma rápida adoção. Se o jogo se tornar muito popular, talvez ele exceda os recursos de banco de dados disponíveis, podendo resultar em desempenho lento e clientes insatisfeitos. Esses tipos de cargas de trabalho muitas vezes exigem intervenção manual para dimensionar recursos de banco de dados, aumentando-os ou diminuindo-os em resposta a diferentes níveis de uso.

O Amazon Keyspaces (para Apache Cassandra) ajuda você a provisionar a capacidade de throughput de forma eficiente para workloads variáveis, ajustando automaticamente a capacidade de throughput em resposta ao tráfego real do aplicativo. O Amazon Keyspaces usa o serviço Application Auto Scaling para aumentar e diminuir a capacidade de leitura e gravação de uma tabela por você. Para obter mais informações sobre o Application Auto Scaling, consulte o [Guia do usuário do Application Auto Scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/). 

**nota**  
Para começar a trabalhar rapidamente com o ajuste de escala automático do Amazon Keyspaces, consulte [Configure e atualize políticas de ajuste de escala automático do Amazon Keyspaces](autoscaling.configure.md).

## Como funciona o ajuste de escala automático do Amazon Keyspaces
<a name="autoscaling.HowItWorks"></a>

O diagrama a seguir fornece uma visão geral de alto nível de como o ajuste de escala automático do Amazon Keyspaces gerencia a capacidade de throughput de uma tabela.

![\[Um diagrama mostrando os diferentes serviços envolvidos quando um usuário faz uma alteração em uma tabela do Amazon Keyspaces. Os serviços são Amazon CloudWatch, Amazon SNS e Application Auto Scaling, que emitem a declaração ALTER TABLE para alterar a capacidade com base no uso de leitura ou gravação dos usuários.\]](http://docs.aws.amazon.com/pt_br/keyspaces/latest/devguide/images/keyspaces_auto-scaling.png)




Para habilitar o ajuste de escala automático para uma tabela, você cria uma *política de ajuste de escala*. A política de ajuste de escala especifica se você deseja escalar a capacidade de leitura ou a capacidade de gravação (ou ambas), bem como as configurações mínimas e máximas de unidades de capacidade provisionadas para a tabela.

A política de ajuste de escala também define uma *meta de utilização*. A utilização pretendida é a proporção entre unidades de capacidade consumidas e unidades de capacidade provisionadas em um dado momento, expressa como um percentual. O ajuste de escala automático usa um *algoritmo de rastreamento* para ajustar o throughput provisionado da tabela para cima ou para baixo em resposta a workloads reais. Isso é feito para que a utilização real da capacidade permaneça igual ou próxima à sua meta de utilização.

 É possível definir os valores de utilização do destino de ajuste de escala automático entre 20% e 90% como sua capacidade de gravação e leitura. A meta padrão de taxa de utilização é de 70 por cento. Você pode definir a meta de utilização como uma porcentagem menor se o tráfego mudar rapidamente e quiser que a capacidade comece a aumentar mais cedo. Você também pode definir a taxa de utilização desejada para uma taxa mais alta se o tráfego do aplicativo mudar mais lentamente e você quiser reduzir o custo do throughput. 

Para obter mais informações sobre políticas de ajuste de escala, consulte [ Target Tracking Scaling Policies for Application Auto Scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) no [https://docs.aws.amazon.com/autoscaling/application/userguide/](https://docs.aws.amazon.com/autoscaling/application/userguide/).

Quando você cria uma política de escalabilidade, o Amazon Keyspaces cria dois pares de alarmes da CloudWatch Amazon em seu nome. Cada par representa seus limites superiores e inferiores para configurações de throughput provisionado e consumido. Esses CloudWatch alarmes são acionados quando a utilização real da tabela se desvia da sua meta de utilização por um longo período de tempo. Para saber mais sobre a Amazon CloudWatch, consulte o [Guia CloudWatch do usuário da Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

Quando um dos CloudWatch alarmes é acionado, o Amazon Simple Notification Service (Amazon SNS) envia uma notificação (se você a tiver ativado). O CloudWatch alarme então invoca o Application Auto Scaling para avaliar sua política de escalabilidade. Isso, por sua vez, emite uma solicitação Alter Table para o Amazon Keyspaces para ajustar a capacidade provisionada da tabela para cima ou para baixo conforme apropriado. Para saber mais sobre as notificações do Amazon SNS, consulte [ Como configurar as notificações do Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html).

O Amazon Keyspaces processa a solicitação de alteração da tabela, aumentando (ou diminuindo) a capacidade de throughput provisionado da tabela de forma que ela se aproxime da sua utilização prevista.

**nota**  
O ajuste de escala automático do Amazon Keyspaces modifica as configurações de throughput provisionado somente quando a workload real permanece elevada (ou baixa) por um período prolongado de vários minutos. O algoritmo de rastreamento previsto do procura manter a utilização prevista em ou perto do seu valor escolhido em longo prazo. Picos de atividade súbitos de curta duração são acomodados pela capacidade de expansão interna da tabela. 

## Como o ajuste de escala automático funciona para tabelas multirregionais
<a name="autoscaling.multi-region"></a>

Para garantir que sempre haja capacidade suficiente de leitura e gravação para todas as réplicas de tabelas em toda uma tabela multirregional no modo Regiões da AWS de capacidade provisionada, recomendamos que você configure o Amazon Keyspaces auto scaling.

Ao usar uma tabela multirregional no modo provisionado com ajuste de escala automático, você não pode desativar o ajuste de escala automático para uma única réplica de tabela. Mas você pode ajustar as configurações de ajuste de escala automático de leitura da tabela para diferentes regiões. Por exemplo, você pode especificar diferentes configurações de capacidade de leitura e ajuste de escala automático de leitura para cada região na qual a tabela é replicada. 

As configurações de ajuste de escala automático de leitura que você define para uma réplica de tabela em uma região especificada substituem as configurações gerais de ajuste de escala automático da tabela. No entanto, a capacidade de gravação precisa permanecer sincronizada em todas as réplicas da tabela para garantir que haja capacidade suficiente para replicar gravações em todas as regiões.

O ajuste de escala automático do Amazon Keyspaces atualiza de forma independente a capacidade provisionada da tabela em cada Região da AWS com base no uso naquela região. Como resultado, a capacidade provisionada em cada região para uma tabela multirregional pode ser diferente quando o ajuste de escala automático está ativo.

Você pode definir as configurações de auto scaling de uma tabela multirregional e suas réplicas usando o console, a API ou a CQL do Amazon Keyspaces. AWS CLI Para obter mais informações sobre como criar e atualizar as configurações de ajuste de escala automático para tabelas multirregionais, consulte [Atualize a capacidade provisionada e as configurações de ajuste de escala automático para uma tabela multirregional no Amazon Keyspaces](tables-mrr-autoscaling.md).

**nota**  
Se você usa o ajuste de escala automático para tabelas multirregionais, deve sempre usar as operações de API do Amazon Keyspaces para definir as configurações de ajuste de escala automático. Se você usa as operações da API Application Auto Scaling diretamente para definir as configurações de escalonamento automático, você não tem a capacidade de especificar a tabela Regiões da AWS multirregional. Isso pode resultar em configurações não suportadas.

## Observações de uso
<a name="autoscaling.UsageNotes"></a>

Antes de começar a usar o ajuste de escala automático do Amazon Keyspaces, você deve estar ciente do seguinte:
+ A escalabilidade automática do Amazon Keyspaces não está disponível na região Oriente Médio (EAU).
+ O ajuste de escala automático do Amazon Keyspaces pode aumentar a capacidade de leitura ou gravação sempre que necessário, de acordo com a sua política de ajuste de escala automático. Todas as cotas do Amazon Keyspaces permanecem em vigor, conforme descrito em [Cotas para Amazon Keyspaces (para Apache Cassandra)](quotas.md). 
+ O ajuste de escala automático do Amazon Keyspaces não impede a modificação manual de configurações de throughput provisionado. Esses ajustes manuais não afetam nenhum CloudWatch alarme existente anexado à política de escalabilidade.
+ Se você usar o console para criar uma tabela com capacidade de throughput provisionada, o ajuste de escala automático do Amazon Keyspaces será habilitado por padrão. É possível modificar as configurações de ajuste de escala automático a qualquer momento. Para obter mais informações, consulte [Desativar o ajuste de escala automático do Amazon Keyspaces para uma tabela](autoscaling.turnoff.md).
+ Se você estiver usando CloudFormation para criar políticas de escalabilidade, você deve gerenciar as políticas de escalabilidade CloudFormation para que a pilha esteja sincronizada com o modelo da pilha. Se você alterar as políticas de escalabilidade do Amazon Keyspaces, elas serão substituídas pelos valores originais do modelo da pilha quando CloudFormation a pilha for redefinida.
+ Se você usa CloudTrail para monitorar a escalabilidade automática do Amazon Keyspaces, você pode ver alertas de chamadas feitas pelo Application Auto Scaling como parte de seu processo de validação de configuração. Para filtrar esses alertas, use o campo `invokedBy`, que conterá `application-autoscaling.amazonaws.com` para essas verificações de validação.

# Configure e atualize políticas de ajuste de escala automático do Amazon Keyspaces
<a name="autoscaling.configure"></a>

Você pode usar o console, o CQL ou o AWS Command Line Interface (AWS CLI) para configurar a escalabilidade automática do Amazon Keyspaces para tabelas novas e existentes. Você também pode modificar as configurações de ajuste de escala automático ou desabilitá-lo.

 Para recursos mais avançados, como definir tempos de espera de expansão e redução, recomendamos que você use o CQL ou o para gerenciar as políticas de escalabilidade do AWS CLI Amazon Keyspaces.

**Topics**
+ [Configure permissões para ajuste de escala automático do Amazon Keyspaces](autoscaling.permissions.md)
+ [Crie uma nova tabela com dimensionamento automático](autoscaling.createTable.md)
+ [Configurar o ajuste de escala automático em uma tabela existente](autoscaling.configureTable.md)
+ [Veja a configuração de ajuste de escala automático do Amazon Keyspaces da sua tabela](autoscaling.viewPolicy.md)
+ [Desativar o ajuste de escala automático do Amazon Keyspaces para uma tabela](autoscaling.turnoff.md)
+ [Veja a atividade de auto scaling para uma tabela do Amazon Keyspaces na Amazon CloudWatch](autoscaling.activity.md)

# Configure permissões para ajuste de escala automático do Amazon Keyspaces
<a name="autoscaling.permissions"></a>

Para começar, confirme se a entidade principal tem as permissões apropriadas para criar e gerenciar as configurações de ajuste de escala automático. No AWS Identity and Access Management (IAM), a política AWS gerenciada `AmazonKeyspacesFullAccess` é necessária para gerenciar as políticas de escalabilidade do Amazon Keyspaces. 

**Importante**  
 Permissões do `application-autoscaling:*` são necessárias para desativar o ajuste de escala automático em uma tabela. É necessário desativar o ajuste de escala automático de uma tabela antes de excluí-la. 

Para configurar um usuário do IAM ou função para acesso ao console do Amazon Keyspaces e ajuste de escala automático do Amazon Keyspaces, adicione a política a seguir.

**Para anexar a política `AmazonKeyspacesFullAccess`**

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

1. No painel do console do IAM, escolha **Usuários** e, em seguida, escolha seu usuário do IAM ou função na lista.

1. Na página **Summary (Resumo)**, escolha **Add permissions (Adicionar permissões)**.

1. Escolha **Anexar políticas existentes diretamente**.

1. Na lista de políticas, escolha e **AmazonKeyspacesFullAccess**, em seguida, escolha **Avançar: Revisão**.

1. Escolha **Adicionar permissões**.

# Crie uma nova tabela com dimensionamento automático
<a name="autoscaling.createTable"></a>

Ao criar uma nova tabela do Amazon Keyspaces, você pode habilitar automaticamente o ajuste de escala automático para a capacidade de gravação ou leitura da tabela. Isso permite que o Amazon Keyspaces entre em contato com o Application Auto Scaling em seu nome para registrar a tabela como uma meta escalável e ajustar a capacidade provisionada de gravação ou leitura. 

Para obter mais informações sobre como criar uma tabela multirregional e definir diferentes configurações de ajuste de escala automático para réplicas de tabela, consulte [Criar uma tabela multirregional no modo provisionado com ajuste de escala automático no Amazon Keyspaces](tables-mrr-create-provisioned.md).

**nota**  
O ajuste de escala automático do Amazon Keyspaces requer a presença de um perfil vinculado ao serviço (`AWSServiceRoleForApplicationAutoScaling_CassandraTable`) que realize ações de ajuste em seu nome. Esta função é criada automaticamente para você. Para obter mais informações, consulte [Uso de perfis vinculados ao serviço para o Amazon Keyspaces](using-service-linked-roles.md).

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

**Como criar uma nova tabela com ajuste de escala automático habilitado no 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, selecione **Tables (Tabelas)** e **Create table (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 de capacidade**, escolha **Provisionado**.

1. Na seção **Capacidade de leitura**, confirme se a opção **Escalar automaticamente** está selecionada.

   Nesta etapa, você seleciona as unidades de capacidade de leitura mínima e máxima para a tabela, bem como a utilização desejada.
   + **Unidades de capacidade mínima**: insira o valor do nível mínimo de throughput que a tabela deve estar sempre pronta para suportar. O valor deve estar entre 1 e a cota máxima de throughput por segundo da sua conta (40.000 por padrão).
   + **Unidades de capacidade máxima**: insira a quantidade máxima de throughput que você deseja provisionar para a tabela. O valor deve estar entre 1 e a cota máxima de throughput por segundo da sua conta (40.000 por padrão).
   + **Utilização desejada**: insira uma taxa de utilização desejada entre 20% e 90%. Quando o tráfego excede a taxa de utilização desejada definida, a capacidade é automaticamente aumentada. Quando o tráfego fica abaixo da meta definida, ela é automaticamente reduzida novamente.
**nota**  
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).

1. Na seção **Capacidade de gravação**, escolha as mesmas configurações definidas na etapa anterior para capacidade de leitura ou configure os valores da capacidade manualmente.

1. Escolha **Create table**. Sua tabela é criada com os parâmetros padrão de ajuste de escala automático.

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

**Crie uma nova tabela com ajuste de escala automático do Amazon Keyspaces usando CQL**

Para definir as configurações de ajuste de escala automático para uma tabela de forma programática, você usa a instrução `AUTOSCALING_SETTINGS` que contém os parâmetros para ajuste de escala automático do Amazon Keyspaces. Os parâmetros definem as condições que conduzem o Amazon Keyspaces a ajustar o throughput provisionado da tabela e as ações opcionais adicionais que serão executadas. Neste exemplo, você define as configurações de ajuste de escala automático para *mytable*.

A política contém os elementos a seguir:
+ `AUTOSCALING_SETTINGS`: especifica se o Amazon Keyspaces tem permissão para ajustar a capacidade de throughput em seu nome. Os valores a seguir são necessários:
  + `provisioned_write_capacity_autoscaling_update`:
    + `minimum_units`
    + `maximum_units`
  + `provisioned_read_capacity_autoscaling_update`:
    + `minimum_units`
    + `maximum_units`
  + `scaling_policy`: o Amazon Keyspaces oferece suporte à política de rastreamento de alvos. Para definir a política de rastreamento de alvos, você configura os seguintes parâmetros.
    + `target_value`: o ajuste de escala automático do Amazon Keyspaces garante que o índice de capacidade consumida para capacidade provisionada permaneça nesse valor ou próximo a ele. Você define `target_value` como uma porcentagem.
    + `disableScaleIn`: (Opcional) um `boolean` que especifica se `scale-in` está desativado ou ativado para a tabela. Por padrão, esse parâmetro é desabilitado. Para ativar `scale-in`, defina o valor de `boolean` como `FALSE`. Isso significa que a capacidade é reduzida automaticamente para uma tabela em seu nome. 
    + `scale_out_cooldown`: a atividade de expansão aumenta a capacidade de throughput provisionado de sua tabela. Para adicionar um período de espera nas atividades de aumento da escala horizontalmente, especifique um valor, em segundos, para `scale_out_cooldown`. Se você não especificar um valor, o valor padrão é 0. Para obter mais informações sobre rastreamento de destino e período de espera, consulte [Target Tracking Scaling Policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) no *Guia do usuário do Application Auto Scaling*. 
    + `scale_in_cooldown`: uma atividade de redução da escala diminui o throughput provisionado de sua tabela. Para adicionar um período de espera nas atividades de redução da escala horizontalmente, especifique um valor, em segundos, para `scale_in_cooldown`. Se você não especificar um valor, o valor padrão é 0. Para obter mais informações sobre rastreamento de destino e período de espera, consulte [Target Tracking Scaling Policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) no *Guia do usuário do Application Auto Scaling*.

**nota**  
Para compreender melhor como o `target_value` funciona, suponha que você tenha uma tabela com uma configuração de throughput provisionado de 200 unidades de capacidade de gravação. Você decide criar uma política de dimensionamento para essa tabela, com um `target_value` de 70%.  
Agora, suponha que você comece a direcionar tráfego de gravação para a tabela de forma que o throughput de gravação real seja de 150 unidades de capacidade. A consumed-to-provisioned proporção agora é (150/200), ou 75 por cento. Essa taxa excede o valor pretendido. Portanto, o ajuste de escala automático aumenta a capacidade de gravação provisionada para 215 de modo que a taxa seja (150/215) ou 69,77%, tão próxima ao seu `target_value` quanto possível, mas sem excedê-lo.

Para *mytable*, você define `TargetValue` para a capacidade de leitura e gravação em 50 por cento. O auto scaling do Amazon Keyspaces ajusta a taxa de transferência provisionada da tabela na faixa de 5 a 10 unidades de capacidade para que a proporção permaneça em ou perto de 50%. consumed-to-provisioned Para capacidade de leitura, você define os valores de `ScaleOutCooldown` e `ScaleInCooldown` para 60 segundos.

Você pode usar a seguinte declaração para criar uma nova tabela do Amazon Keyspaces com o ajuste de escala automático ativado. 

```
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 ]

**Crie uma nova tabela com a escalabilidade automática do Amazon Keyspaces usando o AWS CLI**

Para definir as configurações de ajuste de escala automático para uma tabela de forma programática, você usa a ação `autoScalingSpecification` que define os parâmetros para o ajuste de escala automático do Amazon Keyspaces. Os parâmetros definem as condições que conduzem o Amazon Keyspaces a ajustar o throughput provisionado da tabela e as ações opcionais adicionais que serão executadas. Neste exemplo, você define as configurações de ajuste de escala automático para *mytable*.

A política contém os elementos a seguir:
+ `autoScalingSpecification`: especifica se o Amazon Keyspaces tem permissão para ajustar a capacidade de throughput em seu nome. Você pode ativar o ajuste de escala automático para capacidade de leitura e gravação separadamente. Então, você deve especificar os parâmetros para `autoScalingSpecification`:
  + `writeCapacityAutoScaling`: as unidades de capacidade máxima e mínima de gravação.
  + `readCapacityAutoScaling`: as unidades de capacidade máxima e mínima de leitura.
  + `scalingPolicy`: o Amazon Keyspaces oferece suporte à política de rastreamento de alvos. Para definir a política de rastreamento de alvos, você configura os seguintes parâmetros.
    + `targetValue`: o ajuste de escala automático do Amazon Keyspaces garante que o índice de capacidade consumida para capacidade provisionada permaneça nesse valor ou próximo a ele. Você define `targetValue` como uma porcentagem.
    + `disableScaleIn`: (Opcional) um `boolean` que especifica se `scale-in` está desativado ou ativado para a tabela. Por padrão, esse parâmetro é desabilitado. Para ativar `scale-in`, defina o valor de `boolean` como `FALSE`. Isso significa que a capacidade é reduzida automaticamente para uma tabela em seu nome. 
    + `scaleOutCooldown`: a atividade de expansão aumenta a capacidade de throughput provisionado de sua tabela. Para adicionar um período de espera nas atividades de aumento da escala horizontalmente, especifique um valor, em segundos, para `ScaleOutCooldown`. O valor padrão é 0. Para obter mais informações sobre rastreamento de destino e período de espera, consulte [Target Tracking Scaling Policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) no *Guia do usuário do Application Auto Scaling*. 
    + `scaleInCooldown`: uma atividade de redução da escala diminui o throughput provisionado de sua tabela. Para adicionar um período de espera nas atividades de redução da escala horizontalmente, especifique um valor, em segundos, para `ScaleInCooldown`. O valor padrão é 0. Para obter mais informações sobre rastreamento de destino e período de espera, consulte [Target Tracking Scaling Policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) no *Guia do usuário do Application Auto Scaling*.

**nota**  
Para compreender melhor como o `TargetValue` funciona, suponha que você tenha uma tabela com uma configuração de throughput provisionado de 200 unidades de capacidade de gravação. Você decide criar uma política de dimensionamento para essa tabela, com um `TargetValue` de 70%.  
Agora, suponha que você comece a direcionar tráfego de gravação para a tabela de forma que o throughput de gravação real seja de 150 unidades de capacidade. A consumed-to-provisioned proporção agora é (150/200), ou 75 por cento. Essa taxa excede o valor pretendido. Portanto, o ajuste de escala automático aumenta a capacidade de gravação provisionada para 215 de modo que a taxa seja (150/215) ou 69,77%, tão próxima ao seu `TargetValue` quanto possível, mas sem excedê-lo.

Para *mytable*, você define `TargetValue` para a capacidade de leitura e gravação em 50 por cento. O auto scaling do Amazon Keyspaces ajusta a taxa de transferência provisionada da tabela na faixa de 5 a 10 unidades de capacidade para que a proporção permaneça em ou perto de 50%. consumed-to-provisioned Para capacidade de leitura, você define os valores de `ScaleOutCooldown` e `ScaleInCooldown` para 60 segundos.

Ao criar tabelas com configurações de ajuste de escala automático complexas, é útil carregar as configurações de ajuste de escala automático a partir de um arquivo JSON. No exemplo a seguir, você pode baixar o arquivo JSON de exemplo do [auto-scaling.zip](samples/auto-scaling.zip) e extrair `auto-scaling.json`, anotando o caminho para o arquivo. Neste exemplo, o arquivo JSON está localizado no diretório atual. Para diferentes opções de caminho de arquivo, consulte [ Como carregar parâmetros de um arquivo](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-file.html#cli-usage-parameters-file-how).

```
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
```

------

# Configurar o ajuste de escala automático em uma tabela existente
<a name="autoscaling.configureTable"></a>

Você pode atualizar uma tabela do Amazon Keyspaces existente para ativar o ajuste de escala automático para a capacidade de gravação ou leitura da tabela. Se você estiver atualizando uma tabela que está atualmente no modo de capacidade sob demanda, primeiro precisará alterar o modo de capacidade da tabela para o modo de capacidade provisionada.

Para obter mais informações sobre como atualizar as configurações de ajuste de escala automático para uma tabela multirregional, consulte [Atualize a capacidade provisionada e as configurações de ajuste de escala automático para uma tabela multirregional no Amazon Keyspaces](tables-mrr-autoscaling.md).

O ajuste de escala automático do Amazon Keyspaces requer a presença de um perfil vinculado ao serviço (`AWSServiceRoleForApplicationAutoScaling_CassandraTable`) que realize ações de ajuste em seu nome. Esta função é criada automaticamente para você. Para obter mais informações, consulte [Uso de perfis vinculados ao serviço para o Amazon Keyspaces](using-service-linked-roles.md).

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

**Configure o ajuste de escala automático do Amazon Keyspaces para uma tabela existente**

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. Escolha a tabela com a qual você deseja trabalhar e vá para a guia **Capacidade**.

1. Na seção **Configurações de capacidade**, escolha **Editar**.

1. Em **Modo de capacidade**, verifique se a tabela está usando o modo de capacidade **provisionada**.

1. Selecione **Escalar automaticamente** e veja a etapa 6 em [Crie uma nova tabela com dimensionamento automático](autoscaling.createTable.md) para editar a capacidade de leitura e gravação.

1. Quando as configurações de escala automática estiverem definidas, escolha **Salvar**.

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

**Configure uma tabela existente com o ajuste de escala automático do Amazon Keyspaces usando CQL**

Você pode usar o comando `ALTER TABLE` para uma tabela do Amazon Keyspaces existente para configurar o ajuste de escala automático para a capacidade de gravação ou leitura da tabela. Se você estiver atualizando uma tabela que está atualmente no modo de capacidade sob demanda, precisará configurar `capacity_mode` como provisionada. Se sua tabela já estiver no modo de capacidade provisionada, esse campo poderá ser omitido. 

No exemplo a seguir, a instrução atualiza a tabela *mytable*, que está no modo de capacidade sob demanda. A instrução altera o modo de capacidade da tabela para o modo provisionado com o ajuste de escala automático ativado. 

A capacidade de gravação é configurada no intervalo de 5 a 10 unidades de capacidade com um valor de destino de 50%. A capacidade de leitura também é configurada no intervalo de 5 a 10 unidades de capacidade com um valor de destino de 50%. Para capacidade de leitura, você define os valores de `scale_out_cooldown` e `scale_in_cooldown` para 60 segundos.

```
ALTER TABLE mykeyspace.mytable
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 ]

**Configure uma tabela existente com a escalabilidade automática do Amazon Keyspaces usando o AWS CLI**

Para uma tabela do Amazon Keyspaces existente, você pode ativar o ajuste de escala automático para a capacidade de gravação ou leitura da tabela usando a operação `UpdateTable`. 

Você pode usar o seguinte comando para habilitar o ajuste de escala automático do Amazon Keyspaces para tabelas existentes. As configurações de ajuste de escala automático da tabela são carregadas de um arquivo JSON. No exemplo a seguir, você pode baixar o arquivo JSON de exemplo do [auto-scaling.zip](samples/auto-scaling.zip) e extrair `auto-scaling.json`, anotando o caminho para o arquivo. Neste exemplo, o arquivo JSON está localizado no diretório atual. Para diferentes opções de caminho de arquivo, consulte [ Como carregar parâmetros de um arquivo](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-file.html#cli-usage-parameters-file-how).

Para obter mais informações sobre as configurações de ajuste de escala automático usadas no exemplo a seguir, consulte [Crie uma nova tabela com dimensionamento automático](autoscaling.createTable.md).

```
aws keyspaces update-table --keyspace-name mykeyspace --table-name mytable 
            \ --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=1,writeCapacityUnits=1 
            \ --auto-scaling-specification file://auto-scaling.json
```

------

# Veja a configuração de ajuste de escala automático do Amazon Keyspaces da sua tabela
<a name="autoscaling.viewPolicy"></a>

Você pode usar o console, o CQL ou o AWS CLI para visualizar e atualizar as configurações de escalabilidade automática de uma tabela do Amazon Keyspaces.

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

****

**Visualização das configurações de ajuste de escala automático usando o console**

1. Escolha a tabela que você deseja visualizar e vá para a guia **Capacidade**.

1. Na seção **Configurações de capacidade**, escolha **Editar**. Você pode agora modificar as configurações nas seções **Capacidade de leitura** ou **Capacidade de gravação**. Para ter mais informações sobre essas configurações, consulte [Crie uma nova tabela com dimensionamento automático](autoscaling.createTable.md).

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

**Veja a política de ajuste de escala automático do Amazon Keyspaces da sua tabela usando CQL**

Para visualizar os detalhes da configuração do ajuste de escala automático de uma tabela, use o comando a seguir.

```
SELECT * FROM system_schema_mcs.autoscaling WHERE keyspace_name = 'mykeyspace' AND table_name = 'mytable';
```

A saída desse comando é semelhante a esta.

```
 keyspace_name | table_name | provisioned_read_capacity_autoscaling_update                                                                                                                                                                      | provisioned_write_capacity_autoscaling_update
---------------+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 mykeyspace    | mytable    | {'minimum_units': 5, 'maximum_units': 10, 'scaling_policy': {'target_tracking_scaling_policy_configuration': {'scale_out_cooldown': 60, 'disable_scale_in': false, 'target_value': 50, 'scale_in_cooldown': 60}}} | {'minimum_units': 5, 'maximum_units': 10, 'scaling_policy': {'target_tracking_scaling_policy_configuration': {'scale_out_cooldown': 0, 'disable_scale_in': false, 'target_value': 50, 'scale_in_cooldown': 0}}}
```

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

**Veja a política de escalabilidade automática do Amazon Keyspaces da sua tabela usando o AWS CLI**

Para visualizar a configuração de ajuste de escala automático de uma tabela, você pode usar a operação `get-table-auto-scaling-settings`. O comando CLI a seguir é um exemplo disso.

```
aws keyspaces get-table-auto-scaling-settings --keyspace-name mykeyspace --table-name mytable
```

A saída desse comando é semelhante a esta.

```
{
    "keyspaceName": "mykeyspace",
    "tableName": "mytable",
    "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable",
    "autoScalingSpecification": {
        "writeCapacityAutoScaling": {
            "autoScalingDisabled": false,
            "minimumUnits": 5,
            "maximumUnits": 10,
            "scalingPolicy": {
                "targetTrackingScalingPolicyConfiguration": {
                    "disableScaleIn": false,
                    "scaleInCooldown": 0,
                    "scaleOutCooldown": 0,
                    "targetValue": 50.0
                }
            }
        },
        "readCapacityAutoScaling": {
            "autoScalingDisabled": false,
            "minimumUnits": 5,
            "maximumUnits": 10,
            "scalingPolicy": {
                "targetTrackingScalingPolicyConfiguration": {
                    "disableScaleIn": false,
                    "scaleInCooldown": 60,
                    "scaleOutCooldown": 60,
                    "targetValue": 50.0
                }
            }
        }
    }
}
```

------

# Desativar o ajuste de escala automático do Amazon Keyspaces para uma tabela
<a name="autoscaling.turnoff"></a>

Você pode desativar o ajuste de escala automático do Amazon Keyspaces para sua tabela a qualquer momento. Se você não precisar mais escalar a capacidade de leitura ou gravação da sua tabela, considere desabilitar o ajuste de escala automático para que o Amazon Keyspaces não continue modificando as configurações de capacidade de leitura ou gravação da sua tabela. É possível atualizar a tabela usando o console, o CQL ou a AWS CLI.

Desativar o escalonamento automático também exclui os CloudWatch alarmes que foram criados em seu nome.

Para excluir a função vinculada ao serviço usada pelo Application Auto Scaling para acessar a tabela do Amazon Keyspaces, siga as etapas descritas em [Exclusão de um perfil vinculado ao serviço do Amazon Keyspaces](using-service-linked-roles-app-auto-scaling.md#delete-service-linked-role-app-auto-scaling). 

**nota**  
Para excluir a função vinculada ao serviço usada pelo Application Auto Scaling, você deve desativar o ajuste de escala automático em todas as tabelas da conta em todas as Regiões da AWS.

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

**Desative a ajuste de escala automático do Amazon Keyspaces para sua tabela usando o console**

**Uso do console do Amazon Keyspaces**

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. Escolha a tabela que você deseja atualizar e vá para a guia **Capacidade**. 

1. Na seção **Configurações de capacidade**, escolha **Editar**. 

1. Para desativar o ajuste de escala automático do Amazon Keyspaces, desmarque a opção **Escalar automaticamente.** A desativação do ajuste de escala automático cancela o registro da tabela como um destino escalável com o Application Auto Scaling. 

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

**Desative o ajuste de escala automático do Amazon Keyspaces para sua tabela usando o CQL**

A instrução a seguir desativa o ajuste de escala automático para a capacidade de gravação da tabela *mytable*. 

```
ALTER TABLE mykeyspace.mytable
WITH AUTOSCALING_SETTINGS = {
    'provisioned_write_capacity_autoscaling_update': {
        'autoscaling_disabled': true
    }
};
```

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

**Desative a escalabilidade automática do Amazon Keyspaces para sua tabela usando o AWS CLI**

O comando a seguir desativa o ajuste de escala automático da capacidade de leitura da tabela. Também exclui os CloudWatch alarmes que foram criados em seu nome.

```
aws keyspaces update-table --keyspace-name mykeyspace --table-name mytable 
            \ --auto-scaling-specification readCapacityAutoScaling={autoScalingDisabled=true}
```

------

# Veja a atividade de auto scaling para uma tabela do Amazon Keyspaces na Amazon CloudWatch
<a name="autoscaling.activity"></a>

Você pode monitorar como a escalabilidade automática do Amazon Keyspaces usa recursos usando a Amazon CloudWatch, que gera métricas sobre seu uso e desempenho. Siga as etapas no [Guia do Application Auto Scaling usuário](https://docs.aws.amazon.com/autoscaling/application/userguide/monitoring-cloudwatch.html) para criar um CloudWatch painel.

# Use a capacidade de expansão de forma eficaz no Amazon Keyspaces
<a name="throughput-bursting"></a>

O Amazon Keyspaces fornece alguma flexibilidade no provisionamento de throughput por partição ao oferecer *capacidade de expansão*. Quando você não está usando totalmente o throughput de uma partição, o Amazon Keyspaces reserva uma parte dessa capacidade não utilizada para *expansões* de throughput posteriores para lidar com os picos de uso.

No momento, o Amazon Keyspaces mantém até cinco minutos (300 segundos) de capacidade de leitura e gravação não utilizada. Durante uma intermitência ocasional de atividades de leitura e gravação, essas unidades de capacidade extra podem ser consumidas muito rápido, ainda mais rápido do que a capacidade de throughput provisionada por segundo que você definiu para a sua tabela.

O Amazon Keyspaces também pode consumir capacidade de expansão para manutenção em segundo plano e para outras tarefas sem prévio aviso.

Note que esses detalhes da capacidade de intermitência podem mudar no futuro.