
Ich habe vor kurzem begonnen, Cassandra zu verstehen und mit ihr zu arbeiten.
Ich habe zwei Spaltenfamilien erstellt. Für CF1 ist ein Schreibvorgang ein Einfügen in eine eindeutige Zeile mit allen Spaltenwerten. Beispiel: Die Abfolge der Einfügevorgänge könnte wie folgt aussehen:
Key Col1 Col2 Col3
k1 c11 c12 c13
k2 c21 c22 c23
Für CF2 ist ein Schreibvorgang ein Einfügen in eine mit einem Zeitstempel versehene Spalte einer Zeile. Beispiel: Die Abfolge der Einfügevorgänge könnte wie folgt aussehen:
Key timeCol1 timeCol2
k1 ct11
k1 ct11 ct12
k2 ct21
k2 ct21 ct22
Ich verwende YCSB und verwende Thrift-basierteclient.batch_mutate()Anruf. Für CF1 sende ich alle Spaltenwerte für eine Zeile über den Anruf. Für CF2 sende ich die neuen Spaltenwerte für eine Zeile.
Nehmen wir nun an, dass das Opscenter die "Schreibanforderungen" als 1000 meldet.Operationen/Sek., wenn die Datensatzanzahl beispielsweise 10.000 Datensätze beträgt.
Was bedeutet eine Operation aus Sicht des Opscenters? Bedeutet sie eindeutige Zeileneinfügungen über alle Spaltenfamilien hinweg? Bedeutet sie die Anzahl der einzelnen Mutationen für eine Zeile? Wie identifiziert das Opscenter eine eindeutige Operation? Aus Anwendungssicht bedeutet eine Operation für beide Spaltenfamilien etwas anderes.
Kann mir jemand weiterhelfen?
Danke, Arun
Antwort1
Die Kennzahlen „Schreib-Anfragen“ und „Lese-Anfragen“ stellen die Anzahl von Vorgängen von externen Clients dar, sodass ein einzelner batch_mutate-Aufruf einer Anfrage entspricht, unabhängig davon, wie viele Mutationen sie enthält.
Die Metriken „CF: Lokale Schreibvorgänge“ und „CF: Lokale Lesevorgänge“ stellen die Anzahl der Operationen dar, die am lokalen Knoten empfangen wurden, normalerweise von einem Koordinatorknoten. Bei einem einzelnen Einfügen entspricht die Anzahl der „CF: Lokalen Schreibvorgänge“ der Anzahl der „Schreibanforderungen“ x RF für diesen Schlüsselraum. Bei batch_mutate-Aufrufen wird jede Mutation innerhalb des Batches separat auf der Ebene „CF: Lokale Schreibvorgänge“ gezählt.
Diese Vorgänge erfolgen nur auf Zeilenebene und es erfolgt keinerlei intelligente Verarbeitung/Zusammenführung auf Grundlage der beteiligten Daten. Wenn Sie beispielsweise dieselbe Aktualisierungsabfrage zweimal ausführen, werden zwei Vorgänge ausgeführt.