Thanks Mikael. I will try the first solution.

To answer your question, I am evaluating both RDBMS and NoSQL and trying to
find best solution.


On Tue, Feb 14, 2012 at 8:03 PM, Mikael Sitruk <mikael.sit...@gmail.com>wrote:

> Why don't you prefix the columns with an execution date (reverse order so
> the last execution is the first one?)
> that is:
> email id (row key) - (columns) appName:reportName,
> appName:<executionDate>_startDate, appName:<executionDate>_endDate,
> appName:
> <executionDate>_status
>
> So all execution for a specific user are in the same row.
>
> Or you can also use different pattern (growing in rows and not in columns),
> where you use a sightly different key.
> <email id><executionDate> (row key) - (columns) appName:reportName,
> appName:startDate, appName:endDate, appName:status
>
> But in this case you need a scan for getting a specific email id.
>
> BTW: do you think your case is in the NoSql problem (i mean in volume)?
>
> Mikael.S
>
> On Tue, Feb 14, 2012 at 2:17 PM, Monish r <monishs...@gmail.com> wrote:
>
> > Hi,
> >
> >  U can set the max versions for that table as INTEGER.MAX , so that the
> > records are identified uniquely by means of timestamp ( milliseconds ) in
> > which they are inserted . In hbase each and every cell in the table is
> > indexed so if u have more number of columns , u can store them as a
> > concatenated string ( delimited of course )  into one column  for better
> > write.
> >
> > Just a thought.
> >
> > - Monish
> >
> > On Tue, Feb 14, 2012 at 2:12 PM, Raj N <objectli...@gmail.com> wrote:
> >
> > > Hi All,
> > >
> > > I am new to NoSQL world, I need help/suggestion to design Hbase schema
> > for
> > > the below requirement,
> > >
> > > It is a report generation application using hadoop. Now I want to
> store a
> > > particular user's report history in Hbase. The user's email id will be
> > used
> > > to track all his previous ran report history. So the entities to be
> > > persisted are, email id, report name, start date, end date and status.
> > > I am planning to create schema as follows,
> > >
> > > email id (row key) - (columns) appName:reportName, appName:startDate,
> > > appName:endDate, appName:status
> > >
> > > Query will be performed using email id (but I am OK for any other
> > options).
> > > The problem is, if the same user runs the same report again with
> > different
> > > date range, it will overwrite start date, end date and status columns.
> > >
> > > What is the right way of designing schema in this situation. Any help
> > would
> > > be greatly appreciated.
> > >
> > > Thanks in advance.
> > >
> > > -Raj
> > >
> >
>
>
>
> --
> Mikael.S
>

Reply via email to