Thanks. got it!

On Sat, Jan 8, 2011 at 9:44 PM, Tyler Hobbs <ty...@riptano.com> wrote:
> A couple of alternatives off the top of my head:
>
> 1) A row of supercolumns becomes a row of standard columns with compound
> column names.
>
> 2) A row of N supercolumns becomes N rows of standard columns (with compound
> keys if needed); a separate timeline or index replaces the super column
> names.
>
> There might be other data models that work for a specific case, as well.
>
> - Tyler
>
> On Sat, Jan 8, 2011 at 3:38 AM, Rajkumar Gupta <rajkumar....@gmail.com>
> wrote:
>>
>> Thanks Tyler & Stu,
>>
>> Tyler, as the alternatives for large no of subcolumns in a
>> supercolumn, what do you suggest ? Like splitting up a
>> 'supercolumnFamily' into several 'columnfamilies' ?? What else ?
>>
>>
>> On Sat, Jan 8, 2011 at 2:33 PM, Stu Hood <stuh...@gmail.com> wrote:
>> > Raj: the super column indexing is a longstanding issue that we've been
>> > considering recently, and would like to fix.
>> > See https://issues.apache.org/jira/browse/CASSANDRA-674
>> >
>> > On Fri, Jan 7, 2011 at 10:53 PM, Tyler Hobbs <ty...@riptano.com> wrote:
>> >>
>> >> Not that I'm aware of.  There are several other decent alternatives to
>> >> large amounts of subcolumns in a supercolumn, so I don't think it's a
>> >> high
>> >> priority.
>> >>
>> >> - Tyler
>> >>
>> >> On Fri, Jan 7, 2011 at 9:59 PM, Rajkumar Gupta <rajkumar....@gmail.com>
>> >> wrote:
>> >>>
>> >>> Hey Tyler,
>> >>>
>> >>> Is this limitation of supercolumns going to be removed anytime sooner
>> >>> ?
>> >>>
>> >>> Raj
>> >>>
>> >>> On Fri, Jan 7, 2011 at 8:51 PM, Tyler Hobbs <ty...@riptano.com> wrote:
>> >>> > An important bit to read about supercolumn limitations:
>> >>> > http://www.riptano.com/docs/0.6/data_model/supercolumns#limitations
>> >>> >
>> >>> > Don't make supercolumns with a huge number of subcolumns (or a few
>> >>> > really
>> >>> > large subcolumns) unless you plan to always read all of them at
>> >>> > once.
>> >>> >
>> >>> > - Tyler
>> >>> >
>> >>> > On Fri, Jan 7, 2011 at 1:27 AM, Arijit Mukherjee
>> >>> > <ariji...@gmail.com>
>> >>> > wrote:
>> >>> >>
>> >>> >> Thanx to both of you. I can now go ahead a bit more.
>> >>> >>
>> >>> >> Arijit
>> >>> >>
>> >>> >> On 7 January 2011 12:53, Narendra Sharma
>> >>> >> <narendra.sha...@gmail.com>
>> >>> >> wrote:
>> >>> >> > With raw thrift APIs:
>> >>> >> >
>> >>> >> > 1. Fetch column from supercolumn:
>> >>> >> >
>> >>> >> > ColumnPath cp = new ColumnPath("ColumnFamily");
>> >>> >> > cp.setSuper_column("SuperColumnName");
>> >>> >> > cp.setColumn("ColumnName");
>> >>> >> > ColumnOrSuperColumn resp = client.get(getByteBuffer("RowKey"),
>> >>> >> > cp,
>> >>> >> > ConsistencyLevel.ONE);
>> >>> >> > Column c = resp.getColumn();
>> >>> >> >
>> >>> >> > 2. Add a new supercolumn:
>> >>> >> >
>> >>> >> >     SuperColumn superColumn = new SuperColumn();
>> >>> >> >     superColumn.setName(getBytes("SuperColumnName"));
>> >>> >> >     cols = new ArrayList<Column>();
>> >>> >> >     Column c = new Column();
>> >>> >> >     c.setName(name);
>> >>> >> >     c.setValue(value);
>> >>> >> >     c.setTimestamp(timeStamp);
>> >>> >> >     cols.add(c);
>> >>> >> >     //repeat above 5 lines for as many cols you want in
>> >>> >> > supercolumn
>> >>> >> >     superColumn.setColumns(cols);
>> >>> >> >
>> >>> >> >
>> >>> >> >     List<Mutation> mutations = new ArrayList<Mutation>();
>> >>> >> >     ColumnOrSuperColumn csc = new ColumnOrSuperColumn();
>> >>> >> >     csc.setSuper_column(superColumn);
>> >>> >> >     csc.setSuper_columnIsSet(true);
>> >>> >> >     Mutation m = new Mutation();
>> >>> >> >     m.setColumn_or_supercolumn(csc);
>> >>> >> >     m.setColumn_or_supercolumnIsSet(true);
>> >>> >> >     mutations.add(m);
>> >>> >> >
>> >>> >> >
>> >>> >> >     Map<String, List<Mutation>> allMutations = new
>> >>> >> > HashMap<String,
>> >>> >> > List<Mutation>>();
>> >>> >> >     allMutations.put("ColumnFamilyName", mutations);
>> >>> >> >     Map<ByteBuffer, Map<String, List<Mutation>>> mutationMap =
>> >>> >> > new
>> >>> >> > HashMap<ByteBuffer, Map<String, List<Mutation>>>();
>> >>> >> >     mutationMap.put(getByteBuffer("RowKey"), mutations);
>> >>> >> >     client.batch_mutate(mutationMap, ConsistencyLevel.ONE);
>> >>> >> >
>> >>> >> > HTH!
>> >>> >> >
>> >>> >> > Thanks,
>> >>> >> > Naren
>> >>> >> >
>> >>> >> >
>> >>> >> >
>> >>> >> > On Thu, Jan 6, 2011 at 10:42 PM, Arijit Mukherjee
>> >>> >> > <ariji...@gmail.com>
>> >>> >> > wrote:
>> >>> >> >>
>> >>> >> >> Thank you. And is it similar if I want to search a subcolumn
>> >>> >> >> within
>> >>> >> >> a
>> >>> >> >> given supercolumn? I mean I have the supercolumn key and the
>> >>> >> >> subcolumn
>> >>> >> >> key - can I fetch the particular subcolumn?
>> >>> >> >>
>> >>> >> >> Can you share a small piece of example code for both?
>> >>> >> >>
>> >>> >> >> I'm still new into this and trying to figure out the Thrift
>> >>> >> >> APIs. I
>> >>> >> >> attempted to use Hector, but got myself into more confusion.
>> >>> >> >>
>> >>> >> >> Arijit
>> >>> >> >>
>> >>> >> >> On 7 January 2011 11:44, Roshan Dawrani
>> >>> >> >> <roshandawr...@gmail.com>
>> >>> >> >> wrote:
>> >>> >> >> >
>> >>> >> >> > On Fri, Jan 7, 2011 at 11:39 AM, Arijit Mukherjee
>> >>> >> >> > <ariji...@gmail.com>
>> >>> >> >> > wrote:
>> >>> >> >> >>
>> >>> >> >> >> Hi
>> >>> >> >> >>
>> >>> >> >> >> I've a quick question about supercolumns.
>> >>> >> >> >> EventRecord = {
>> >>> >> >> >>    eventKey2: {
>> >>> >> >> >>        e2-ts1: {set of columns},
>> >>> >> >> >>        e2-ts2: {set of columns},
>> >>> >> >> >>        ...
>> >>> >> >> >>        e2-tsn: {set of columns}
>> >>> >> >> >>    }
>> >>> >> >> >>    ....
>> >>> >> >> >> }
>> >>> >> >> >>
>> >>> >> >> >> If I want to append another "e2-tsp: {set of columns}" to the
>> >>> >> >> >> event
>> >>> >> >> >> record keyed by eventKey2, do I need to retrieve the entire
>> >>> >> >> >> eventKey2
>> >>> >> >> >> map, and then append this new row and re-insert eventKey2?
>> >>> >> >> >
>> >>> >> >> > No, you can simply insert a new super column with its
>> >>> >> >> > sub-columns
>> >>> >> >> > with
>> >>> >> >> > the rowKey that you want, and it will join the other super
>> >>> >> >> > columns of
>> >>> >> >> > that
>> >>> >> >> > row.
>> >>> >> >> >
>> >>> >> >> > A row have billions of super columns. Imagine fetching them
>> >>> >> >> > all,
>> >>> >> >> > just
>> >>> >> >> > to
>> >>> >> >> > add one more super column into it.
>> >>> >> >> >
>> >>> >> >> >
>> >>> >> >> >
>> >>> >> >> >
>> >>> >> >> >
>> >>> >> >>
>> >>> >> >>
>> >>> >> >> --
>> >>> >> >> "And when the night is cloudy,
>> >>> >> >> There is still a light that shines on me,
>> >>> >> >> Shine on until tomorrow, let it be."
>> >>> >> >
>> >>> >> >
>> >>> >>
>> >>> >>
>> >>> >>
>> >>> >> --
>> >>> >> "And when the night is cloudy,
>> >>> >> There is still a light that shines on me,
>> >>> >> Shine on until tomorrow, let it be."
>> >>> >
>> >>> >
>> >>
>> >
>> >
>
>

Reply via email to