cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maciej Miklas <mac.mik...@gmail.com>
Subject Re: CQL 3 and wide rows
Date Tue, 20 May 2014 14:06:51 GMT
yes :)

On 20 May 2014, at 14:24, Jack Krupansky <jack@basetechnology.com> wrote:

> To keep the terminology clear, your “row_key” is actually the “partition key”,
and “wide_row_column” is actually a “clustering column”, and the combination of your
row_key and wide_row_column is a “compound primary key”.
>  
> -- Jack Krupansky
>  
> From: Aaron Morton
> Sent: Tuesday, May 20, 2014 3:06 AM
> To: Cassandra User
> Subject: Re: CQL 3 and wide rows
>  
> In a CQL 3 table the only **column** names are the ones defined in the table, in the
example below there are three column names. 
>  
>  
>>> CREATE TABLE keyspace.widerow (
>>> row_key text,
>>> wide_row_column text,
>>> data_column text,
>>> PRIMARY KEY (row_key, wide_row_column));
>>>  
>>> Check out, for example, http://www.datastax.com/dev/blog/schema-in-cassandra-1-1.​
>  
> Internally there may be more **cells** ( as we now call the internal columns). In the
example above each value for row_key will create a single partition (as we now call internal
storage engine rows). In each of those partitions there will be cells for each CQL 3 row that
has the same row_key, those cells will use a Composite for the name. The first part of the
composite will be the value of the wide_row_column and the second will be the literal name
of the non primary key columns.
>  
> IMHO Wide partitions (storage engine rows) are more prevalent in CQL3 than thrift models.
>  
>> But still - I do not see Iteration, so it looks to me that CQL 3 is limited when
compared to CLI/Hector.
> Now days you can do pretty much everything you can in cli. Provide an example and we
may be able to help.
>  
> Cheers
> Aaron
>  
> -----------------
> Aaron Morton
> New Zealand
> @aaronmorton
>  
> Co-Founder & Principal Consultant
> Apache Cassandra Consulting
> http://www.thelastpickle.com
>  
> On 20/05/2014, at 8:18 am, Maciej Miklas <mac.miklas@gmail.com> wrote:
> 
>> Hi James,
>>  
>> Clustering is based on rows. I think that you meant not clustering columns, but compound
columns. Still all columns belong to single table and are stored within single folder on one
computer. And it looks to me (but I’am not sure) that CQL 3 driver loads all column names
into memory - which is confusing to me. From one side we have wide row, but we load whole
into ram…..
>>  
>> My understanding of wide row is a row that supports millions of columns, or similar
things like map or set. In CLI you would generate column names (or use compound columns) to
simulate set or map,  in CQL 3 you would use some static names plus Map or Set structures,
or you could still alter table and have large number of columns. But still - I do not see
Iteration, so it looks to me that CQL 3 is limited when compared to CLI/Hector.
>>  
>>  
>> Regards,
>> Maciej
>>  
>> On 19 May 2014, at 17:30, James Campbell <james@breachintelligence.com> wrote:
>> 
>>> Maciej,
>>>  
>>> In CQL3 "wide rows" are expected to be created using clustering columns.  So
while the schema will have a relatively smaller number of named columns, the effect is a wide
row.  For example:
>>>  
>>> CREATE TABLE keyspace.widerow (
>>> row_key text,
>>> wide_row_column text,
>>> data_column text,
>>> PRIMARY KEY (row_key, wide_row_column));
>>>  
>>> Check out, for example, http://www.datastax.com/dev/blog/schema-in-cassandra-1-1.​
>>>  
>>> James
>>> From: Maciej Miklas <mac.miklas@gmail.com>
>>> Sent: Monday, May 19, 2014 11:20 AM
>>> To: user@cassandra.apache.org
>>> Subject: CQL 3 and wide rows
>>>  
>>> Hi *,
>>>  
>>> I’ve checked DataStax driver code for CQL 3, and it looks like the column names
for particular table are fully loaded into memory, it this true?
>>>  
>>> Cassandra should support wide rows, meaning tables with millions of columns.
Knowing that, I would expect kind of iterator for column names. Am I missing something here?
>>>  
>>>  
>>> Regards,
>>> Maciej Miklas
>> 
>>  
> 
>  


Mime
View raw message