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. >>
