How are blobs treated internally in comparison to Ascii or Text? Storage wise it should be better, but does ScyllaDB compute its own hashes for every primary key column? I want to know the details.
*originally asked on ScyllaDB’s community slack channel
There is not much difference internally, actually. From ScyllaDB’s POV all values are binary blobs with different serialize/deserialize/compare routines attached to them.
Scylla only computes a hash for the partition key as a whole. Individual columns are not hashed.
Compare wise, blobs, as well as text and ASCII are compared lexicographically. This should yield identical ordering for all three choices.
Overall I think blob is the best choice simply because it is the most compact form storage-wise and has no other disadvantages over text/ASCII for this use-case that I can think of.