Wir haben eine Tabelle, die Timeouts Lesen/Schreiben des Clusters beim Ausführen von "nodetool repair" und Export (COPY FROM) -Funktionen sind sehr langsam (~ 150 Zeilen/Minute) mit viel GC-Fehler im Protokoll während des Exports.Cassandra-Tabelle, die Nodetool Repair & Export stoppt langsam
Scheint, dass dies ein Problem mit dem Schema ist, da sich andere Tabellen mit ähnlichen Datenmengen (~ 1,5 Millionen Zeilen) normal verhalten.
Gibt es ein offensichtliches Problem mit diesem Schema?
CREATE TABLE reportingtest.events (
year int,
month int,
day int,
hour int,
action text,
id uuid,
attributes frozen<list<frozen<attribute>>>,
domain text,
organisation text,
status text,
PRIMARY KEY ((year, month), day, hour, action, id)
) WITH CLUSTERING ORDER BY (day ASC, hour ASC, action ASC, id ASC)
Die beiden UDTs verwendet:
CREATE TYPE reportingtest.attribute (
namespace text,
name text,
displayname text,
values frozen<list<frozen<attributevalue>>>
);
und
CREATE TYPE reportingtest.attributevalue (
aggregationvalue text,
extra frozen<map<text, text>>
);
Also, was mache ich falsch?
Der Cluster läuft [cqlsh 5.0.1 | Cassandra 3.0.9 | CQL spec 3.4.0 | Native protocol v4].
Percentile Partition Size Cell Count
50% 25109160 61214
75% 30130992 61214
95% 89970660 182785
98% 129557750 379022
99% 268650950 654949
Min 373 18
Max 464228842 113175
Führen Sie eine Abfrage mit 'tracing on' aus und überprüfen Sie, wie viel Tombstone generiert wurde –
Danke für den Vorschlag. Es gibt keine Löschungen auf dieser Tabelle noch irgendwelche Updates, also bin ich nicht sicher, dass Grabsteine das Problem sind. Bei einigen Abfragen erhalte ich jedes Mal 1000 Live- und 0 Tombstone-Zellen. – brianofshoe
http://docs.datastax.com/de/cassandra/3.0/cassandra/tools/toolsTablehisto.html - Sie sollten auch überprüfen, dass Ihre Partitionen nicht "zu groß" sind – Mandraenke