If you are using the getRow method, then you can get the whole row (including your list column) all at once. There is also an overload that allows you to select a desired subset of columns.
-Bryan

On Apr 8, 2008, at 8:47 AM, Michaela Buergle wrote:

Thanks for your remarks!
The multi-column approach does seem more HBase-y. I'm concerned however about performance when retrieving a large number of columns in order to
get the whole list per record. What do you think?

micha

Bryan Duxbury wrote:
I think the approach of using a column family for the list and a column for each element is the way to go. It seems to be the most HBase-y way
to lay the schema out.

You can of course use multiple tables if you want, but we have no joins
of any kind implemented in HBase, so it'd be up to you to perform the
join yourself in application code.

Custom formatting would work too, but then you pay the cost of being
unable to look at and add manipulate items in the list individually, so
I'd also stay away from that.

-Bryan

On Apr 8, 2008, at 8:17 AM, Michaela Buergle wrote:

Hi all,
I'm planning to save (and retrieve) potentially very long lists of
values, each list relating to one row in my HBase table. Have any of you
tried something similar with HBase?

Possible approaches that come to mind are:
- Insert a new row for each list item, duplicate the rest
- Create a column family for the list and insert each list item into a
new column in this family
- Write the whole list into one cell using custom formatting
- Use several tables + perform some kind of join


Reply via email to