Pré-preparar uma tabela para o modo de capacidade sob demanda no Amazon Keyspaces
O Amazon Keyspaces escala automaticamente as partições de armazenamento com base no throughput, mas para novas tabelas ou novos picos de throughput, pode levar mais tempo para alocar as partições de armazenamento necessárias. Para garantir que as tabelas no modo de capacidade provisionada e sob demanda tenham partições de armazenamento suficientes para suportar o throughput repentino mais alto, você pode pré-preparar uma tabela nova ou existente.
Um cenário comum para pré-preparar uma nova tabela é quando você está migrando dados de outro banco de dados, o que pode exigir o carregamento de terabytes de dados em um curto período.
Para tabelas sob demanda, o Amazon aloca automaticamente uma capacidade maior à medida que o volume de tráfego aumenta. Novas tabelas sob demanda podem comportar até 4 mil gravações por segundo e 12 mil leituras altamente consistentes ou 24 mil leituras finais consistentes por segundo. Uma tabela sob demanda aumenta o tráfego com base no throughput registrado anteriormente ao longo do tempo.
Se você antecipar um aumento na capacidade de pico que exceda as configurações para novas tabelas, você pode pré-preparar a tabela até a capacidade máxima do pico esperado.
Para pré-preparar uma nova tabela para o modo de capacidade sob demanda no Amazon Keyspaces, você pode seguir estas etapas. Para pré-preparar uma tabela existente, consulte Pré-preparar uma tabela existente para o modo de capacidade sob demanda no Amazon Keyspaces.
Antes de começar, revise suas cotas de conta e tabela para o modo provisionado e ajuste-as conforme necessário.
- Console
-
Como pré-preparar uma nova tabela para o modo de capacidade sob demanda
-
Faça login no AWS Management Console e abra o console do Amazon Keyspaces em https://console.aws.amazon.com/keyspaces/home.
-
No painel de navegação, selecione Tables (Tabelas) e Create table (Criar tabela).
-
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.
-
Na seção Colunas, crie o esquema para sua tabela.
-
Na seção Chave primária, defina a chave primária da tabela e selecione colunas de clustering opcionais.
Na seção Configurações da tabela, selecione Personalizar configurações.
-
Continue com as configurações de capacidade de leitura/gravação.
-
Para o Modo de capacidade, escolha Provisionado.
-
Na seção Capacidade de leitura, desmarque Escalar automaticamente.
Defina as unidades de capacidade provisionada da tabela para o valor máximo esperado.
-
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.
-
Escolha Create table. Sua tabela está sendo criada com as configurações de capacidade especificadas.
Quando o status da tabela muda para Ativo, você pode alternar a tabela para o modo de capacidade sob demanda.
- Cassandra Query Language (CQL)
-
Pré-preparar uma tabela nova para o modo sob demanda usando CQL
Crie uma tabela no modo provisionado e especifique a capacidade de pico esperada para leituras e gravações para ela. A instrução a seguir é um exemplo disso.
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': 18000,
'write_capacity_units': 6000
}
};
Confirmar o status da tabela. Você pode usar a seguinte instrução.
SELECT keyspace_name, table_name, status FROM system_schema_mcs.tables WHERE keyspace_name = 'catalog' AND table_name = 'book_awards';
keyspace_name | table_name | status
---------------+-----------------+--------
catalog | book_awards | ACTIVE
(1 rows)
Quando o status da tabela é ACTIVE
, você pode usar a instrução a seguir para alterar o modo de capacidade da tabela para o modo sob demanda, definindo 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'}};
Você pode usar a instrução a seguir para confirmar que a tabela agora está no modo sob demanda e exibir o status da tabela.
SELECT * from system_schema_mcs.tables where keyspace_name = 'catalog' and table_name = 'book_awards';
- CLI
-
Pré-preparar uma nova tabela para o modo de capacidade sob demanda 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=pk,type=int},{name=ck,type=int}],partitionKeys=[{name=pk},{name=ck}]'
\--capacity-specification throughputMode=PROVISIONED,readCapacityUnits=18000,writeCapacityUnits=6000
Confirmar o status da tabela. Você pode usar a seguinte instrução.
aws keyspaces get-table --keyspace-name catalog --table-name book_awards
Quando a tabela estiver ativa e a capacidade tiver sido provisionada, você poderá alterá-la para o modo sob demanda. A seguir, temos um exemplo.
aws keyspaces update-table --keyspace-name catalog --table-name book_awards --capacity-specification throughputMode=PAY_PER_REQUEST
Você pode usar a instrução a seguir para confirmar que a tabela agora está no modo sob demanda e exibir o status da tabela.
aws keyspaces get-table --keyspace-name catalog --table-name book_awards
Quando a tabela está ativa no modo de capacidade sob demanda, ela está preparada para lidar com uma capacidade de throughput semelhante à anterior no modo de capacidade provisionada.