In 3.0, clustering columns are not actually part of the column name anymore.  
Yay.  Aaron Morton wrote a detailed analysis of the 3.x storage engine here: 
http://thelastpickle.com/blog/2016/03/04/introductiont-to-the-apache-cassandra-3-storage-engine.html
 
<http://thelastpickle.com/blog/2016/03/04/introductiont-to-the-apache-cassandra-3-storage-engine.html>

The advantage of maps is a single table that can contain a very flexible data 
model, of maps and sets all in the same table.  Fun times.

The advantage of using clustering keys is performance and you can use WAY more 
K/V pairs.  

Jon

> On Nov 15, 2017, at 8:12 AM, eugene miretsky <eugene.miret...@gmail.com> 
> wrote:
> 
> Hi, 
> 
> What would be the tradeoffs between using
> 
> 1) Map
> 
> (
> id UUID PRIMARY KEY,  
> myMap map<int,text>
> );
> 
> 2) Clustering key
> 
> (
>  id UUID PRIMARY KEY,
> key int,
> val text,
> PRIMARY KEY (id, key))
> );
> 
> My understanding is that maps are stored very similarly to clustering 
> columns, where the map key is part of the SSTable's column name. The main 
> difference seems to be that with maps all the key/value pairs get retrieved 
> together, while with clustering keys we can retrieve individual rows, or a 
> range of keys. 
> 
> Cheers,
> Eugene 

Reply via email to