Was ist das Chargenlimit in Cassandra?

Ich habe einen Java-Client, der Datensätze im Stapel an Cassandra-Cluster überträgt (INSERT). Die Elemente im Stapel haben alle den gleichen Zeilenschlüssel, sodass sie alle im gleichen Knoten platziert werden. Außerdem muss die Transaktion nicht atomar sein, sodass ich nicht protokollierten Stapel verwendet habe.

Die Anzahl der INSERT-Befehle in jedem Stapel hängt von verschiedenen Faktoren ab, kann jedoch zwischen 5 und 50000 liegen. Zuerst habe ich nur so viele Befehle wie in einem Stapel abgelegt und übergeben. Dies warfcom.datastax.driver.core.exceptions.InvalidQueryException: Batch too large. Dann habe ich eine Obergrenze von 1000 EINFÜGEN pro Charge verwendet und dann auf 300 herabgesetzt. Mir ist aufgefallen, dass ich nur nach dem Zufallsprinzip rate, ohne genau zu wissen, woher diese Obergrenze stammt, was später zu Problemen führen kann.

Meine Frage ist, was ist diese Grenze? Kann ich das ändern? Woher weiß ich, wie viele Elemente in einem Stapel platziert werden können? Wenn mein Stapel "voll" ist?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage