Berechnen Sie die statische Spaltengröße pro logischer Partition in Amazon Keyspaces - Amazon Keyspaces (für Apache Cassandra)

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Berechnen Sie die statische Spaltengröße pro logischer Partition in Amazon Keyspaces

Dieser Abschnitt enthält Einzelheiten zur Schätzung der codierten Größe statischer Spalten in Amazon Keyspaces. Die kodierte Größe wird bei der Berechnung Ihrer Rechnung und der Kontingentnutzung verwendet. Sie sollten die kodierte Größe auch verwenden, wenn Sie die Anforderungen an die bereitgestellte Durchsatzkapazität für Tabellen berechnen. Um die kodierte Größe statischer Spalten in Amazon Keyspaces zu berechnen, können Sie die folgenden Richtlinien verwenden.

  • Partitionsschlüssel können bis zu 2048 Byte an Daten enthalten. Jede Schlüsselspalte im Partitionsschlüssel benötigt bis zu 3 Byte an Metadaten. Diese Metadaten-Bytes werden auf Ihr statisches Datengrößenkontingent von 1 MB pro Partition angerechnet. Bei der Berechnung der Größe Ihrer statischen Daten sollten Sie davon ausgehen, dass jede Partitionsschlüsselspalte die vollen 3 Byte an Metadaten verwendet.

  • Verwenden Sie die Rohgröße der statischen Spaltendatenwerte basierend auf dem Datentyp. Weitere Informationen zu Datentypen finden Sie unter Datentypen.

  • Fügen Sie der Größe der statischen Daten für Metadaten 104 Byte hinzu.

  • Clusterspalten und normale Spalten, die keine Primärschlüsselspalten sind, werden nicht auf die Größe statischer Daten angerechnet. Informationen zum Schätzen der Größe nichtstatischer Daten innerhalb von Zeilen finden Sie unter. Schätzen Sie die Zeilengröße in Amazon Keyspaces

Die kodierte Gesamtgröße einer statischen Spalte basiert auf der folgenden Formel:

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

Betrachten Sie das folgende Beispiel für eine Tabelle, in der alle Spalten vom Typ Integer sind. Die Tabelle hat zwei Partitionsschlüsselspalten, zwei Clusterspalten, eine reguläre Spalte und eine statische Spalte.

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 diesem Beispiel berechnen wir die Größe der statischen Daten der folgenden Anweisung:

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

Um die Gesamtanzahl der für diesen Schreibvorgang benötigten Byte abzuschätzen, können Sie die folgenden Schritte verwenden.

  1. Berechnen Sie die Größe einer Partitionsschlüsselspalte, indem Sie die Byte für den in der Spalte gespeicherten Datentyp und die Metadaten-Bytes addieren. Wiederholen Sie diesen Vorgang für alle Partitionsschlüsselspalten.

    1. Berechnet die Größe der ersten Spalte des Partitionsschlüssels (pk_col1):

      4 bytes for the integer data type + 3 bytes for partition key metadata = 7 bytes
    2. Berechnet die Größe der zweiten Spalte des Partitionsschlüssels (pk_col2):

      4 bytes for the integer data type + 3 bytes for partition key metadata = 7 bytes
    3. Fügen Sie beide Spalten hinzu, um die geschätzte Gesamtgröße der Partitionsschlüsselspalten zu erhalten:

      7 bytes + 7 bytes = 14 bytes for the partition key columns
  2. Fügen Sie die Größe der statischen Spalten hinzu. In diesem Beispiel haben wir nur eine statische Spalte, die eine Ganzzahl speichert (was 4 Byte erfordert).

  3. Um schließlich die gesamte kodierte Größe der statischen Spaltendaten zu ermitteln, addieren Sie die Byte für die Primärschlüsselspalten und statischen Spalten und fügen Sie die zusätzlichen 104 Byte für Metadaten hinzu:

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

Sie können statische und nicht statische Daten auch mit derselben Anweisung aktualisieren. Um die Gesamtgröße des Schreibvorgangs abzuschätzen, müssen Sie zunächst den Umfang der nichtstatischen Datenaktualisierung berechnen. Berechnen Sie dann die Größe der Zeilenaktualisierung, wie im Beispiel unter gezeigtSchätzen Sie die Zeilengröße in Amazon Keyspaces, und fügen Sie die Ergebnisse hinzu.

In diesem Fall können Sie insgesamt 2 MB schreiben — 1 MB ist das maximale Zeilengrößenkontingent und 1 MB ist das Kontingent für die maximale statische Datengröße pro logischer Partition.

Um die Gesamtgröße einer Aktualisierung statischer und nicht statischer Daten in derselben Anweisung zu berechnen, können Sie die folgende Formel verwenden:

(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

Betrachten Sie das folgende Beispiel für eine Tabelle, in der alle Spalten vom Typ Integer sind. Die Tabelle hat zwei Partitionsschlüsselspalten, zwei Clusterspalten, eine reguläre Spalte und eine statische Spalte.

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 diesem Beispiel berechnen wir die Datengröße, wenn wir eine Zeile in die Tabelle schreiben, wie in der folgenden Anweisung dargestellt:

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

Um die Gesamtanzahl der für diesen Schreibvorgang benötigten Byte zu schätzen, können Sie die folgenden Schritte verwenden.

  1. Berechnen Sie die gesamte kodierte Größe der statischen Daten wie zuvor gezeigt. In diesem Beispiel sind es 122 Byte.

  2. Fügen Sie die Größe der codierten Gesamtgröße der Zeile hinzu, die auf der Aktualisierung nicht statischer Daten basiert. Gehen Sie dabei wie unter beschrieben vor. Schätzen Sie die Zeilengröße in Amazon Keyspaces In diesem Beispiel beträgt die Gesamtgröße der Zeilenaktualisierung 134 Byte.

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