hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cosmin Lehene <cleh...@adobe.com>
Subject Re: transactional hbase
Date Fri, 16 Jul 2010 09:24:37 GMT
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 <nkapshoo@gmail.com> 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.
>> 


Mime
View raw message