Etapa 3: definir a capacidade de throughput da tabela - Amazon Keyspaces (para Apache Cassandra)

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

Etapa 3: definir a capacidade de throughput da tabela

Este tutorial mostra como ajustar o cqlsh para carregar dados em um intervalo de tempo definido. Como você sabe com antecedência quantas leituras e gravações você executa, use o modo de capacidade provisionada. Depois de concluir a transferência de dados, você deve definir o modo de capacidade da tabela de acordo com os padrões de tráfego do seu aplicativo. Para saber mais sobre gerenciamento de capacidade, consulte Gerenciamento de recursos sem servidor no Amazon Keyspaces (para Apache Cassandra).

Com o modo de capacidade provisionada, você especifica com antecedência quanta capacidade de leitura e gravação deseja provisionar para sua tabela. A capacidade de gravação é cobrada por hora e medida em unidades de capacidade de gravação ()WCUs. Cada uma WCU tem capacidade de gravação suficiente para suportar a gravação de 1 KB de dados por segundo. Quando você carrega os dados, a taxa de gravação deve estar abaixo do máximo WCUs (parâmetro:write_capacity_units) definido na tabela de destino.

Por padrão, você pode provisionar até 40.000 WCUs em uma tabela e 80.000 WCUs em todas as tabelas da sua conta. Se precisar aumentar a capacidade, solicite um aumento de cota no console Service Quotas. Para obter mais informações sobre cotas, consulte Cotas para Amazon Keyspaces (para Apache Cassandra).

Calcule o número médio WCUs necessário para uma inserção

A inserção de 1 KB de dados por segundo requer 1WCU. Se o CSV arquivo tiver 360.000 linhas e você quiser carregar todos os dados em 1 hora, você deverá gravar 100 linhas por segundo (360.000 linhas/ 60 minutos/60 segundos = 100 linhas por segundo). Se cada linha tiver até 1 KB de dados, para inserir 100 linhas por segundo, você deverá WCUs provisionar 100 para sua tabela. Se cada linha tiver 1,5 KB de dados, você precisará de duas WCUs para inserir uma linha por segundo. Portanto, para inserir 100 linhas por segundo, você deve provisionar 200WCUs.

Para determinar quantas linhas WCUs você precisa inserir por segundo, divida o tamanho médio da linha em bytes por 1024 e arredonde para o número inteiro mais próximo.

Por exemplo, se o tamanho médio da linha for 3000 bytes, você precisará de três WCUs para inserir uma linha por segundo.

ROUNDUP(3000 / 1024) = ROUNDUP(2.93) = 3 WCUs
Calcule o tempo e a capacidade de carregamento de dados

Agora que você sabe o tamanho médio e o número de linhas em seu CSV arquivo, você pode calcular quantas WCUs são necessárias para carregar os dados em um determinado período de tempo e o tempo aproximado necessário para carregar todos os dados em seu CSV arquivo usando WCU configurações diferentes.

Por exemplo, se cada linha em seu arquivo tiver 1 KB e você tiver 1.000.000 de linhas em seu CSV arquivo, para carregar os dados em 1 hora, você precisará provisionar pelo menos 278 WCUs para sua tabela nessa hora.

1,000,000 rows * 1 KBs = 1,000,000 KBs 1,000,000 KBs / 3600 seconds =277.8 KBs / second = 278 WCUs
Defina as configurações de capacidade provisionada

Você pode definir as configurações de capacidade de gravação de uma tabela ao criar a tabela ou usando o ALTER TABLE CQL comando. A seguir está a sintaxe para alterar as configurações de capacidade provisionada de uma tabela com a instrução. ALTER TABLE CQL

ALTER TABLE mykeyspace.mytable WITH custom_properties={'capacity_mode':{'throughput_mode': 'PROVISIONED', 'read_capacity_units': 100, 'write_capacity_units': 278}} ;

Para obter a referência completa da linguagem, consulte ALTER TABLE.