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 Sun, 05 Feb 2012 01:54:34 GMT
Interesting idea, Jim.  Is there a reason you don't you use
"metadata:{accountId}" instead?  For performance reasons?

On Sat, Feb 4, 2012 at 6:24 PM, Jim Ancona <jim@anconafamily.com> wrote:

> I've used "special" values which still comply with the Composite
> schema for the metadata columns, e.g. a column of
> 1970-01-01:{accountId} for a metadata column where the Composite is
> DateType:UTF8Type.
>
> Jim
>
> On Sat, Feb 4, 2012 at 2:13 PM, Yiming Sun <yiming.sun@gmail.com> wrote:
> > 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