If only a subset of the child entities needs update, it is not trivial to maintain consistency across multiple writers.
On Fri, Jul 16, 2010 at 2:24 AM, Cosmin Lehene <[email protected]> wrote: > 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. > >> > >
