Calcule o tamanho da coluna estática por partição lógica no Amazon Keyspaces - 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á.

Calcule o tamanho da coluna estática por partição lógica no Amazon Keyspaces

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.

  • 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 Estime o tamanho da linha no Amazon Keyspaces.

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_col1):

      4 bytes for the integer data type + 3 bytes for partition key metadata = 7 bytes
    2. Calcule o tamanho da segunda coluna da chave de partição (pk_col2):

      4 bytes for the integer data type + 3 bytes for partition key metadata = 7 bytes
    3. 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
  2. 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).

  3. 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 Estime o tamanho da linha no Amazon Keyspaces, 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.

  2. Adicione o tamanho do tamanho total codificado da linha com base na atualização de dados não estáticos, seguindo as etapas em Estime o tamanho da linha no Amazon Keyspaces. Neste exemplo, o tamanho total da atualização da linha é 134 bytes.

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