Cool stuff Daniel,

Was looking through the code a bit. Seems like you make a best effort to push 
as much of
the filtering of KVs of uncommitted transactions to HBase and then do some 
filtering on the client
not a bad approach. (I hope I didn't misunderstand the approach, only looked 
through the code for
1/2 hour or so).


One thing I was wondering: Why bookkeeper? Why not store the WAL itself in 
HBase? That way
you might not even need a separate server.

Did you see: HBaseSI (http://www.cs.uwaterloo.ca/~c15zhang/HBaseSI.pdf), they 
also do MVCC
on top of unaltered HBase/schema, although from reading that paper I get the 
impression that it
would not scale to scans touching many rows (which is where your client side 
filtering comes in).

-- Lars


----- Original Message -----
From: Daniel Gómez Ferro <[email protected]>
To: "[email protected]" <[email protected]>; "[email protected]" 
<[email protected]>
Cc: Maysam Yabandeh <[email protected]>; Flavio Junqueira 
<[email protected]>; Benjamin Reed <[email protected]>; Ivan Kelly 
<[email protected]>
Sent: Friday, November 4, 2011 4:24 AM
Subject: Omid: Transactional Support for HBase

(I apologize for resending but I forgot to add the user list.)

Hi all,

It is my pleasure to announce the open source release of Omid, a project whose 
goal is to add lock-free transactional support on top of HBase. The current 
release includes CrSO, a client-replicated status oracle that detects the 
write-write conflicts to provide Snapshot Isolation. CrSO has the following 
appealing properties:

1) It does not need any modification into the HBase code nor the table scheme.
2) The overhead on HBase DataNodes is negligible (only after an abort)
3) It scales up to 50,000 write transactions per second (TPS) and a thousand of 
client connections.

We have setup a github project: https://github.com/dgomezferro/omid

More information is available at the wiki: 
https://github.com/dgomezferro/omid/wiki

If you are interested, installation and running instructions are available on 
the README: https://github.com/dgomezferro/omid/blob/master/README.md

Please do not hesitate to contact us in the case of any question.

Best Regards,
Daniel Gómez Ferro

Reply via email to