2016-10-20 2 views
0

In der Cassandra Dokumentation here heißt es:Fehler in Cassandra-Dokumentation in Bezug auf Größe abgestufter Verdichtung?

Während STCS eine schreibintensive Arbeitsbelastung gut zu verdichten arbeitet, macht es liest langsamer, da der Merge-by-Größe Prozess durch die Zeilen nicht Gruppendaten der Fall ist. Dies macht es wahrscheinlicher, dass Versionen einer bestimmten Zeile über viele SSTables verteilt werden können.

1) Was bedeutet "Gruppendaten nach Zeilen"? Sind nicht alle Zeilen für eine Partition bereits gruppiert?

2) Wie ist es möglich, dass eine Zeile mehrere Versionen auf einem einzelnen Knoten hat? Stellt das Upsert-Verhalten nicht sicher, dass nur die neueste Version einer Zeile über die Indizes memtable und partition zugänglich ist? Ist es nicht richtig, dass bei der Aktualisierung einer Zeile und dem Leeren der Memtable die Partitionsindizes so aktualisiert werden, dass sie auf die neueste Version verweisen? Bei der Komprimierung ist diese letzte Version (wegen des Zeilen-Zeitstempels) diejenige, die im komprimierten SSTable endet.

Beachten Sie, dass ich hier über einen einzelnen Knoten spreche - NICHT das Problem, dass Replikate nicht synchron sind.

Entweder das ist falsch oder ich missverstehe, was dieser Absatz sagt.

Danke!

Antwort

0

OK, ich denke, ich fand die Antwort selbst - ich wäre dankbar für jede Bestätigung, dass dies korrekt ist.

Eine Zeile kann viele Versionen haben, weil Updates/Upserts nur Teil einer Zeile schreiben können. Daher enthält die letzte Version einer vollständigen Zeile die neuesten Aktualisierungen für alle Spalten in dieser Zeile, die auf mehrere SSTables verteilt werden können.

Mein Missverständnis schien von der Idee Einhalt zu gebieten, dass die Partitionierungsindizes nur zu ein Lage in ein SSTable zeigen können. Wenn ich diese Einschränkung lockere, macht die Aussage im Dokument Sinn. Ich muss daher davon ausgehen, dass ein Index in den Partitionsindizes für einen Primärschlüssel mehrere Speicherorte für diesen Schlüssel enthalten kann. Kann jemand bestätigen, dass das alles wahr ist?

Danke.