yes :) On 20 May 2014, at 14:24, Jack Krupansky <j...@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.mik...@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 <ja...@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.mik...@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 >> >> > >