You still need to organize your vendors by delivery zip. 
Which gets very ugly when you try <product code> <grocerCode>.

Even doing something like <zip><product><vendor> as your key gets you a lot of 
rows.
This will work, where you have columns for price, qty on hand , sku, etc...

The problem gets worse when you consider some vendors have multiple warehouses 
and ship to multiple zips from a warehouse so you have a bit of a problem when 
you 
want to place an order and update your inventory count. 

NoSQL databases like HBase don't have transactions. 

You want to try it and set it like 
<product><vendor> and then have a column for each zip that it delivers to, 
and/or  a column for each warehouse that contains a map of the zip codes and a 
column for each warehouse that contains the inventory count?
You can do this but again, you lack transactional concepts which make this a 
non-optimal solution.

Also this works if you're selecting vendors based on a product. Like I want 
Apples delivered to 44124 (Pepper Pike/Beachwood OH).
Not well for find me all of the grocers who ship to 44124 and get a list of 
their products.

HTH

-Mike

PS. This is why its a good relational problem and not a good big data. You can 
do it as a big data, but you end up with an ugly solution.

> Date: Tue, 30 Aug 2011 13:45:56 +0530
> Subject: Re: Real time dynamic data and hbase
> From: [email protected]
> To: [email protected]
> 
> How about a table which has <product code><grocerCode> as the key, and
> column family items with qualifier quantity. You can have other column
> families like grocer(columns name etc) Then you can scan for productCode and
> return those grocers whose items:quantiy > 0.
> 
> Best Regards,
> Sonal
> Crux: Reporting for HBase <https://github.com/sonalgoyal/crux>
> Nube Technologies <http://www.nubetech.co>
> 
> <http://in.linkedin.com/in/sonalgoyal>
> 
> 
> 
> 
> 
> On Tue, Aug 30, 2011 at 12:27 PM, high pointe <[email protected]>wrote:
> 
> > Thanks for the response Sonal.  Here is an example.
> >
> > The client (backend) is online grocers.  The front end client is shoppers /
> > consumers.
> >
> > The grocers have an interface that they can log into and enter their
> > inventory.  Example:  Apple = 9
> >
> > The front end is simple; two values the users enter:
> >
> > Product:  Apples
> > Delivers to zip code:  90210
> >
> > Once the query is submitted, the search results will display all the
> > grocers
> > that deliver apples to the users area code.
> >
> > Whenever a grocer's supply (for any product) decreases to zero, they need
> > to
> > be dropped our of the results.  We do not want grocers showing quantity
> > zero.  We only want grocers with a supply on hand.
> >
> > Now...  Should the grocer that was dropped out because of a 0 value get a
> > shipment and now have product on hand, once they enter the amount of their
> > product, the non zero value should trigger the Db / search to include the
> > grocer in the search again.
> >
> > How would I go about doing this without have multiple tables for the same
> > grocer or constantly re-indexing?
> >
> > Am I going at this the wrong way completely?
> >
> > Thanks again for the response and for and suggestions.
> >
> > H-p
> >
> >
> >
> > As orders come through for apples and the number decreases, one it hits 0,
> > the clients
> >
> >
> >
> >
> > On Tue, Aug 30, 2011 at 12:35 AM, Sonal Goyal <[email protected]>
> > wrote:
> >
> > > Hi,
> > >
> > > Can you please give an example or explain in more detail what you are
> > > trying
> > > to achieve.
> > >
> > > Best Regards,
> > > Sonal
> > > Crux: Reporting for HBase <https://github.com/sonalgoyal/crux>
> > > Nube Technologies <http://www.nubetech.co>
> > >
> > > <http://in.linkedin.com/in/sonalgoyal>
> > >
> > >
> > >
> > >
> > >
> > > On Tue, Aug 30, 2011 at 11:59 AM, highpointe <[email protected]>
> > > wrote:
> > >
> > > > We are attempting to build what is akin to a CRM (but not).
> > > >
> > > > Our backend is an interface in which clients can control the variables
> > of
> > > > their assets offering; the variables of the template they use act as
> > the
> > > > over call on the Db.
> > > >
> > > > Within the UI, they have the ability to set thresholds for variables
> > > (once
> > > > reached the variable is ejected and in essence a completely new
> > template
> > > is
> > > > created).
> > > >
> > > > The variables can change rapidly throughout the day so speed on updates
> > > and
> > > > being able to always have the latest template data sets on the front
> > end
> > > (as
> > > > simple search engine) is a priority.
> > > >
> > > > I have gone through numerous schema in my head but cannot seem to
> > figure
> > > > our the automating of the process of expiring data and introducing new
> > > > variables on the fly without a complete reindex of the table.
> > > >
> > > > Any help with architecture ideas would be greatly greatly appreciated.
> > > >
> > > > Cheers.
> > > >
> > > > H-p
> > > >
> > > >
> > > >
> > > >
> > > > Sent from my iPhone
> > > >
> > >
> >
                                          

Reply via email to