hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sandy Pratt <prat...@adobe.com>
Subject RE: Hbase Transactional support
Date Mon, 19 Mar 2012 19:46:59 GMT

I wasn't aware of Omid before this post, so thanks for sharing that.  I really like the approach
and indeed our own implementation of transactions on HBase uses MVCC and optimistic concurrency
control with a centralized transaction manager.  I think it's a great fit for HBase.

One question though.  You mention detection of write-write conflicts, but not write-read conflicts.
  I'm guessing that this is because you're shooting for non-serializable snapshot isolation.
 Why not detect write-read anomalies and get to serializable isolation (or at least closer
to it)?  For example it seems like you could detect the write skew anomaly (described here
http://en.wikipedia.org/wiki/Snapshot_isolation) by tracking a little more state in your Status
Oracle.  Were you trying to reduce state or decentralize it or something?  Is there simply
no need for that level of isolation?

Apologies if this is clear in the code, which I haven't yet read thoroughly.


> -----Original Message-----
> From: Maysam Yabandeh [mailto:maysam@yahoo-inc.com]
> Sent: Monday, March 19, 2012 11:45
> To: user@hbase.apache.org
> Subject: Re: Hbase Transactional support
> Hi Deepika,
> Omid provides Snapshot Isolation (SI), which is a well-known isolation
> guarantee in database systems such as Oracle. In short, each transaction
> reads from a consistent snapshot that does not include partial changes by
> concurrent (or failed) transactions. SI also prevents write-write conflicts
> between concurrent transactions. The overhead of Omid on HBase is
> negligible and does not require any changes into HBase, with the only
> exception of HBase garbage collection algorithm that is replaced via a
> coprocessor. hbase-trx, on the other hand, does not provide read snapshots
> and is not safe with client failures. You can find a more detailed comparison in
> the Omid wiki page:
> https://github.com/yahoo/omid/wiki
> Cheers
> - Maysam Yabandeh
> On Mar 19, 2012, at 6:49 PM, Deepika Khera wrote:
> > Hi,
> >
> > I have some map reduce jobs that write to Hbase. I am trying to pick a
> > library that could provide transactional support for Hbase. I looked
> > at Omid and hbase-trx .
> >
> > Could you please provide me with a comparison between the two so I can
> > make the right choice.
> > Are there any other ways to do this?
> >
> > Thanks,
> > Deepika
> >
> >
> >
> >

View raw message