I think generally we should keep HBase a byte based key value store.
What we should add to HBase are tools that would allow client side apps (or libraries) to built functionality on top of plain HBase.
Serialization that maintains a correct semantic sort order is important as a building block, so is code that can build up correctly serialized and sortable compound keys, as well as hashing algorithms.
Where I would draw the line is adding types to HBase itself. As long as one can write a client, or Filters, or Coprocessors with the tools provided by HBase we're good. Higher level functionality can then be built of on top of HBase.
For example, maybe we need to add better access API to the HBase WAL in order to have an external library implement idempotent transactions (which can be used to implement 2ndary indexes).
Maybe some other primitives have to be exposed in order to allow an external library to implement full transactions.
Or we might need a statistics framework (such as the one that Jesse is working on).
These are all building blocks that do not presume specific access patterns or clients, but can be used to implement them.
As usual, just my $0.02.
From: Nick Dimiduk <firstname.lastname@example.org
Sent: Friday, March 15, 2013 10:57 AM
Subject: Re: HBase type support
I'm talking about MD5, SHA1, etc. It's something explicitly mentioned
On Fri, Mar 15, 2013 at 10:55 AM, James Taylor wrote:
What do you mean by "hashing algorithms"?
On 03/15/2013 10:11 AM, Nick Dimiduk wrote:
Native support for a handful of hashing algorithms has also been
Do you think these should be supported directly, as opposed to using a
fixed-length String or fixed-length byte?
On Thu, Mar 14, 2013 at 9:51 AM, David Koch <email@example.com
As an HBase user I would welcome this addition. In addition to the
list of datatypes A UUID/GUID type would also be nice to have.
On Wed, Mar 13, 2013 at 5:42 PM, Nick Dimiduk <firstname.lastname@example.org