Hi, 

HBase supports row-level atomic operations. If you need to update more than a 
row in a single transaction you'll have to use a coordination mechanism. You 
can use Zookeeper for that. 

However you can also evaluate whether you can't use a single table for your 
operation by taking advantage of the columnar model. Basically you can encode 
an entire star schema in a single table in HBase. Each family can act as a 
table. So when you have  1-M relations you can just write all the values (M) in 
a single row (1). This way you could use a single put operation to update your 
"child" entities.

Cosmin 

On Jul 16, 2010, at 12:57 AM, N Kapshoo wrote:

> Can someone please point me to some more info? I am concerned about
> inconsistent data and am evaluating risk...
> Thanks.
> 
> On Thu, Jul 15, 2010 at 3:11 PM, N Kapshoo <[email protected]> wrote:
>> Hi,
>> 
>> I have a write API call that does 3 puts (2 puts  to one table and a
>> 3rd put to a second table). How do I go about making sure that these
>> all happen or none happen at all?  In short, an atomic transaction.
>> 
>> I read up a little bit about the TransactionManager and that I need to
>> modify hbase-site.xml to make these TransactionalRegion Servers. Can
>> someone point me to some more info about the same? What versions, what
>> performance impacts etc? Are there some good urls that anyone can
>> share?
>> 
>> I am using HBase 0.20.3 at this time. I dont believe transactions are
>> supported in this version. If I were to go live and then decide to use
>> transactions later, how should I plan on an upgrade?
>> 
>> Thanks.
>> 

Reply via email to