Interesting idea, R.V. But what did you do with the row keys? On Sat, Feb 4, 2012 at 2:29 PM, R. Verlangen <ro...@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....@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 <chrisger...@mindspring.com >> > wrote: >> >>> >>> >>> >>> On 4 February 2012 06:21, Yiming Sun <yiming....@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 >>> >> >> >