2016-04-25 15 views
0

aus diesem Artikel Zitiert:Cassandra vorbereitet Aussagen mit leeren Spalten?

http://www.datastax.com/dev/blog/4-simple-rules-when-using-the-datastax-drivers-for-cassandra

„Cassandras Speicher-Engine speichern unnötige leere Spalten zu vermeiden, werden optimiert, aber bei der Verwendung dieser Parameter vorbereitete Anweisungen, das Ergebnis in Nullwerten nicht zu Cassandra weitergegeben bereitgestellt werden (und Daher ist die einzige Problemumgehung für dieses Szenario, einen vordefinierten Satz vorbereiteter Anweisungen für die häufigsten Insert-Kombinationen und normale Anweisungen für die selteneren Fälle zu haben. "

ich bemerkt, dass es eine Aufgabe ist, mögliche Lösungen dieses Problems zu erkunden:

https://issues.apache.org/jira/browse/CASSANDRA-7304

Aber ich kann nicht, ob dies tatsächlich, (der Java Cassandra Treiber in welcher Version behoben worden ist, scheinen zu finden, zum Beispiel) und wie?

Wenn nicht gelöst, ist es mit verschiedenen Einfügeanweisungen immer noch die beste Arbeit?

Antwort

1

Ungesetzte Variablen sind relativ neu und können in der Tat verwendet werden, um Tombstones beim Ausführen von vorbereiteten Anweisungen zu vermeiden. Sie sind jedoch erst ab Protokoll V4, dh ab Cassandra 2.2, verfügbar.

Unterstützung für nicht festgelegte Variablen im Java-Treiber ist ab Version 3.0.0 verfügbar. Wenn Sie das Protokoll V4 verwenden, werden alle Variablen standardmäßig als nicht definiert betrachtet, sofern Sie sie nicht explizit auf etwas anderes setzen. Wenn Sie eine zuvor eingestellte Variable "aufheben" müssen, können Sie eine der unset() Methoden einer BoundStatement aufrufen.