Calcola la dimensione statica delle colonne per partizione logica in Amazon Keyspaces - Amazon Keyspaces (per Apache Cassandra)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Calcola la dimensione statica delle colonne per partizione logica in Amazon Keyspaces

Questa sezione fornisce dettagli su come stimare la dimensione codificata delle colonne statiche in Amazon Keyspaces. La dimensione codificata viene utilizzata per il calcolo della bolletta e dell'utilizzo delle quote. È inoltre necessario utilizzare la dimensione codificata quando si calcolano i requisiti di capacità di throughput assegnati per le tabelle. Per calcolare la dimensione codificata delle colonne statiche in Amazon Keyspaces, puoi utilizzare le seguenti linee guida.

  • Le chiavi di partizione possono contenere fino a 2048 byte di dati. Ogni colonna chiave nella chiave di partizione richiede fino a 3 byte di metadati. Questi byte di metadati vengono conteggiati ai fini della quota di dimensione dei dati statici di 1 MB per partizione. Quando si calcola la dimensione dei dati statici, è necessario presupporre che ogni colonna chiave di partizione utilizzi tutti i 3 byte di metadati.

  • Utilizza la dimensione grezza dei valori dei dati della colonna statica in base al tipo di dati. Per ulteriori informazioni sui tipi di dati, consulta Tipi di dati.

  • Aggiungi 104 byte alla dimensione dei dati statici per i metadati.

  • Le colonne di clustering e le colonne con chiavi non primarie regolari non vengono conteggiate ai fini della dimensione dei dati statici. Per informazioni su come stimare la dimensione dei dati non statici all'interno delle righe, consulta. Stima della dimensione delle righe in Amazon Keyspaces

La dimensione totale codificata di una colonna statica si basa sulla seguente formula:

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

Considerate il seguente esempio di tabella in cui tutte le colonne sono di tipo intero. La tabella ha due colonne chiave di partizione, due colonne di clustering, una colonna normale e una colonna statica.

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));

In questo esempio, calcoliamo la dimensione dei dati statici della seguente dichiarazione:

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

Per stimare i byte totali richiesti da questa operazione di scrittura, è possibile utilizzare i seguenti passaggi.

  1. Calcola la dimensione di una colonna chiave di partizione aggiungendo i byte per il tipo di dati archiviato nella colonna e i byte dei metadati. Ripeti questa operazione per tutte le colonne chiave di partizione.

    1. Calcola la dimensione della prima colonna della chiave di partizione (pk_col1):

      4 bytes for the integer data type + 3 bytes for partition key metadata = 7 bytes
    2. Calcola la dimensione della seconda colonna della chiave di partizione (pk_col2):

      4 bytes for the integer data type + 3 bytes for partition key metadata = 7 bytes
    3. Aggiungi entrambe le colonne per ottenere la dimensione totale stimata delle colonne chiave di partizione:

      7 bytes + 7 bytes = 14 bytes for the partition key columns
  2. Aggiungi la dimensione delle colonne statiche. In questo esempio, abbiamo solo una colonna statica che memorizza un numero intero (che richiede 4 byte).

  3. Infine, per ottenere la dimensione totale codificata dei dati delle colonne statiche, sommate i byte per le colonne chiave primarie e le colonne statiche e aggiungete i 104 byte aggiuntivi per i metadati:

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

Puoi anche aggiornare dati statici e non statici con la stessa istruzione. Per stimare la dimensione totale dell'operazione di scrittura, è necessario innanzitutto calcolare la dimensione dell'aggiornamento dei dati non statici. Quindi calcola la dimensione dell'aggiornamento della riga come mostrato nell'esempio in Stima della dimensione delle righe in Amazon Keyspaces e aggiungi i risultati.

In questo caso, è possibile scrivere un totale di 2 MB: 1 MB è la quota massima per la dimensione delle righe e 1 MB è la quota per la dimensione massima dei dati statici per partizione logica.

Per calcolare la dimensione totale di un aggiornamento di dati statici e non statici nella stessa istruzione, è possibile utilizzare la formula seguente:

(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

Considerate il seguente esempio di tabella in cui tutte le colonne sono di tipo intero. La tabella ha due colonne chiave di partizione, due colonne di clustering, una colonna normale e una colonna statica.

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));

In questo esempio, calcoliamo la dimensione dei dati quando scriviamo una riga nella tabella, come mostrato nella seguente dichiarazione:

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

Per stimare i byte totali richiesti da questa operazione di scrittura, è possibile utilizzare i seguenti passaggi.

  1. Calcola la dimensione totale codificata dei dati statici come mostrato in precedenza. In questo esempio, sono 122 byte.

  2. Aggiungi la dimensione della dimensione totale codificata della riga in base all'aggiornamento dei dati non statici, seguendo la procedura descritta in. Stima della dimensione delle righe in Amazon Keyspaces In questo esempio, la dimensione totale dell'aggiornamento della riga è di 134 byte.

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