I think one of the appeals of HBase is that is chooses consistency over 
availability, which makes it easy to reason about the state of your data.

Throwing an eventually consistent index into the mix makes that reasoning more 
difficult again.

Every time I think about indexes in HBase I arrive at one of four scenarios:
1. Just handle it client side and write to two tables. Other clients maybe see 
the updates not atomically. Maybe combined with a WAL.

2. Have HBase support globally consistent indexes. Needs some form of minimal 
global transaction support.
3. Have HBase support local consistent indexes. I.e. keep the index with the 
region it indexes. Since the index cannot be addressed directly, a query would 
need to farm out to all regions (or at the very least regionservers).
4. Have an eventually consistent index with some form of WAL that is 
asynchronously applied. (what you described)


Granted I have not spent much time thinking about this, but none of these are 
really entirely appealing.
Found HBASE-2038 (#3) and HBASE-3340 (#4) (but you've seen those) :)


Alex Baranau and I were supposed to talk a while back, but I dropped the ball 
on that.


-- Lars

________________________________
From: Andrew Purtell <apurt...@apache.org>
To: "dev@hbase.apache.org" <dev@hbase.apache.org>; lars hofhansl 
<lhofha...@yahoo.com> 
Sent: Thursday, January 26, 2012 11:27 AM
Subject: Re: hbase 0.94.0

> Dare I mention secondary indexes for 0.96?

You can. :-) But what does that mean? Is there a specific JIRA that describes 
the scope of it?

I've been around the block a bit with this. Jon Gray and I talked about it last 
year, at the time the notion was "eventually consistent secondary indexing via 
WAL overloading". (About that fuzzy, alas.) I asked a Trend team to work on it. 
Unfortunately the result was not of satisfactory quality. Then I thought about 
doing the work myself. However if we are already "eventually consistent" then 
why not use something like ElasticSearch as an indexing service that can be 
shared between HBase based applications and others that have nothing to do with 
HBase? Something akin to what the Lily guys did but without the serialization. 
Anyway, that is my current thinking. If there were a native secondary indexing 
facility in HBase, we'd definitely use it, but if there isn't, that is ok too.


Best regards,

    - Andy

Problems worthy of attack prove their worth by hitting back. - Piet Hein (via 
Tom White)



>________________________________
> From: lars hofhansl <lhofha...@yahoo.com>
>To: "dev@hbase.apache.org" <dev@hbase.apache.org> 
>Sent: Thursday, January 26, 2012 9:10 AM
>Subject: Re: hbase 0.94.0
> 
>"Iron Fist of Lars H"... Uh oh :)
>
>0.96 wire compatibility would be awesome. Seems rather ambitious for 0.94. I 
>am happy to help with that too.
>Weren't the HortonWorks guys also interested in working on that?
>Once we have that, we can think about calling it 1.0.
>
>Dare I mention secondary indexes for 0.96?
>
>
>-- Lars
>
>________________________________
>From: Jonathan Hsieh <j...@cloudera.com>
>To: dev@hbase.apache.org; lars hofhansl <lhofha...@yahoo.com> 
>Sent: Thursday, January 26, 2012 6:36 AM
>Subject: Re: hbase 0.94.0
>
>+1. I like the list and the simple performance version theme, and seeing
>what the "Iron Fist of Lars H" is like. :)
>
>Can we start talking about goals for 0.96 goal as well?  Wire compatibility
>is one that Jimmy and I are interested in tackling, or possibly adding it
>as an optional feature in 0.94 to ease the transition.
>
>Jon.
>
>On Wed, Jan 25, 2012 at 9:48 PM, lars hofhansl <lhofha...@yahoo.com> wrote:
>
>> +1!  end of february sounds fine to me
>>
>>
>> My feature wish list:
>>
>> HBASE-2600
>> HBASE-4218 (done it seems)
>> HBASE-4608 (also getting close)
>>
>> HBASE-5128
>>
>> The usual set of race-condition-fixes...
>>
>>
>> I don't think we'll have tackled wire-compatibility by then.
>>
>>
>> We can call it the 0.94 performance release...
>>
>>
>> -- Lars
>>
>> ps. I'm happy to be the release manager if you're tired of it.  :)
>>
>>
>>
>> ________________________________
>>  From: Stack <st...@duboce.net>
>> To: HBase Dev List <dev@hbase.apache.org>
>> Sent: Wednesday, January 25, 2012 8:34 PM
>> Subject: hbase 0.94.0
>>
>> Lets branch end of february?  No new features thereafter.  Is this too
>> close in?  Would be grand if 0.94.0 shipped before hbasecon.  What
>> should 0.94.0 have in it?  I don't mind if the list is short.
>>
>> Unless someone else wants too, I don't mind being release manager
>> (will try to run a tighter ship this time around).
>>
>> St.Ack
>>
>
>
>
>-- 
>// Jonathan Hsieh (shay)
>// Software Engineer, Cloudera
>// j...@cloudera.com
>
>
>

Reply via email to