cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yiming Sun <yiming....@gmail.com>
Subject Re: yet a couple more questions on composite columns
Date Sat, 04 Feb 2012 20:46:47 GMT
Interesting idea, R.V.  But what did you do with the row keys?

On Sat, Feb 4, 2012 at 2:29 PM, R. Verlangen <robin@us2.nl> wrote:

> I also made something like this a while ago. I decided to go for the
> 2-rows-solution: by doing that you don't have the need for super columns.
> Cassandra is really good at reading, so this should not be an issue.
>
> Cheers!
>
>
> 2012/2/4 Yiming Sun <yiming.sun@gmail.com>
>
>> Thanks Andrey and Chris.  It sounds like we don't necessarily have to use
>> composite columns.  From what I understand about dynamic CF, each row may
>> have completely different data from other rows;  but in our case, the data
>> in each row is similar to other rows; my concern was more about the
>> homogeneity of the data between columns.
>>
>> In our original supercolumn-based schema, one special supercolumn is
>> called "metadata" which contains a number of subcolumns to hold metadata
>> describing each collection (e.g. number of documents, etc.), then the rest
>> of the supercolumns in the same row are all IDs of documents belong to the
>> collection, and for each document supercolumn, the subcolumns contain the
>> document content as well as metadata on individual document (e.g. checksum
>> of each document).
>>
>> To move away from the supercolumn schema, I could either create two CFs,
>> one to hold metadata, the other document content; or I could create just
>> one CF mixing metadata and doc content in the same row, and using composite
>> column names to identify if the particular column is metadata or a
>> document.  I am just wondering if you have any inputs on the pros and cons
>> of each schema.
>>
>> -- Y.
>>
>>
>> On Fri, Feb 3, 2012 at 10:27 PM, Chris Gerken <chrisgerken@mindspring.com
>> > wrote:
>>
>>>
>>>
>>>
>>> On 4 February 2012 06:21, Yiming Sun <yiming.sun@gmail.com> wrote:
>>>
>>>> I cannot have one composite column name with 3 components while another
>>>> with 4 components?
>>>
>>>  Just put 4 components and left last empty (if it is same type)?!
>>>
>>> Another question I have is how flexible composite columns actually are.
>>>>  If my data model has a CF containing US zip codes with the following
>>>> composite columns:
>>>>
>>>> {OH:Spring Field} : 45503
>>>> {OH:Columbus} : 43085
>>>> {FL:Spring Field} : 32401
>>>> {FL:Key West}  : 33040
>>>>
>>>> I know I can ask cassandra to "give me the zip codes of all cities in
>>>> OH".  But can I ask it to "give me the zip codes of all cities named Spring
>>>> Field" using this model?  Thanks.
>>>>
>>> No. You set first composite component at first.
>>>
>>>
>>> I'd use a dynamic CF:
>>> row key = state abbreviation
>>> column name = city name
>>> column value = zip code (or a complex object, one of whose properties is
>>> zip code)
>>>
>>> you can iterate over the columns in a single row to get a state's city
>>> names and their zip code and you can do a get_range_slices on all keys for
>>> the columns starting and ending on the city name to find out the zip codes
>>> for a cities with the given name.
>>>
>>> I think
>>>
>>> - Chris
>>>
>>
>>
>

Mime
View raw message