Inserting a null value creates a tombstone. Tombstones can have major 
performance implications.
You can see the tombstones using sstable2json.
If you have a small number of records with null values this seems OK, otherwise 
I recommend using the QueryBuilder (for Java clients) and waiting for 
https://issues.apache.org/jira/browse/CASSANDRA-7304


From: Matthew Johnson [mailto:matt.john...@algomi.com]
Sent: Wednesday, April 29, 2015 11:37 AM
To: user@cassandra.apache.org
Subject: Inserting null values

Hi all,

I have some fields that I am storing into Cassandra, but some of them could be 
null at any given point. As there are quite a lot of them, it makes the code 
much more readable if I don’t check each one for null before adding it to the 
INSERT.

I can see a few Jiras around CQL 3 supporting inserting nulls:

https://issues.apache.org/jira/browse/CASSANDRA-3783
https://issues.apache.org/jira/browse/CASSANDRA-5648

But I have tested inserting null and it seems to work fine (when querying the 
table with cqlsh, it shows up as a red lowercase null).

Are there any obvious pitfalls to look out for that I have missed? Could it be 
a performance concern to insert a row with some nulls, as opposed to checking 
the values first and inserting the row and just omitting those columns?

Thanks!
Matt

Reply via email to