Thanks Dave.

In that case, I guess a correction needs to be done in HBase Definitive Guide's 
first chapter (http://ofps.oreilly.com/titles/9781449396107/intro.html), where 
it states:
----
As opposed to the limit on column families there is no such thing for the 
number of columns: you could have millions of columns in a particular column 
family. There is also no type nor length boundary on the column values.
----

If below example of Email schema design is an example of bad schema design, not 
because of query/access pattern but because of the issue it can create for 
region splits, then,  the above excerpt from the book should have a fine print 
;-)


Regards,
Srikanth




-----Original Message-----
From: Buttler, David [mailto:[email protected]] 
Sent: Friday, September 02, 2011 2:08 AM
To: [email protected]
Subject: RE: Tall-Narrow vs. Flat-Wide Tables

The "HBase: The Definitive Guide" answer seems pretty, um, definitive to me.  
The only reason I would even consider going against that advice is if I had 
solid knowledge that it was impossible for a user to have more than 100,000 
emails.  But even then it seems like a difficult design decision to justify.  
How does that design help you do something?

Dave

-----Original Message-----
From: Srikanth P. Shreenivas [mailto:[email protected]] 
Sent: Thursday, September 01, 2011 11:53 AM
To: [email protected]
Subject: Tall-Narrow vs. Flat-Wide Tables

Hi,

HBase: The Definitive Guide book's chapter 9 talks about Tall-Narrow vs 
Flat-wide tables. (http://ofps.oreilly.com/titles/9781449396107/advanced.html)

It seems to propose that Tall-Narrow tables (more rows, less columns) is better 
design.  One of the issue it talks about with "Flat-wide" tables (less rows and 
more columns) is
...
In addition, HBase can only split at row boundaries, which also enforces the 
recommendation to go with tall-narrow tables. Imagine you have all emails of a 
user in a single row. This will work for the majority of users, but there will 
be outliers that will have magnitudes of emails more in their inbox. So much so 
that a single row could outgrow the maximum file/region size and work against 
the region split facility.
...

So, my query is that is it a bad idea to have a table as given in above example 
wherein emails are stored by adding columns.   I seem to have a similar table 
in my application, wherein I have a region size of 1GB and cell value of 10KB.  
So, will I run into region-split issue mentioned above after 100000 (1GB / 10KB 
= 100000)  columns.

Regards,
Srikanth

________________________________

http://www.mindtree.com/email/disclaimer.html

Reply via email to