[ 
https://issues.apache.org/jira/browse/CASSANDRA-7826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15230309#comment-15230309
 ] 

Sylvain Lebresne commented on CASSANDRA-7826:
---------------------------------------------

bq. {{ComplexColumnData}} is a bag of Cells, although having nested collections 
would require {{ComplexColumnData}} to also contain {{ComplexColumnData}}

There is certainly multiple ways this could be implemented, but the way I think 
we should do this, at least for now, is by projecting, kind of like we 
implemented collections pre-3.0. We'll use as many component in the 
{{CellPath}} as there is level of nestedness and there _will_ be repetition.

So for instance, to store a {{map<text, set<int>>}} like \{ 'x' : \{ 1, 2\}, 
'y' : \{ 3, 4 \} \}, we'll store it as 4 cells, having respectively the cell 
paths: {{('x', 1)}}, {{('x', 2)}}, {{('y', 3)}} and {{('y', 4)}}.

Of course this is not the most efficient way to do this, but this way can be 
done without breaking any backward compatibility and without any change to the 
file format. It is not the goal of this ticket to transform the storage engine 
to be document based in particular, just to add a bit of flexibility, mainly in 
term of being able to insert without needing to read-before-write (like you 
have to do if you use frozen collections). We'll still be clear that nesting 
too much or having collections too big will be a bad idea.


> support non-frozen, nested collections
> --------------------------------------
>
>                 Key: CASSANDRA-7826
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7826
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: CQL
>            Reporter: Tupshin Harper
>            Assignee: Alex Petrov
>              Labels: ponies
>             Fix For: 3.x
>
>
> The inability to nest collections is one of the bigger data modelling 
> limitations we have right now.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to