Return-Path: Delivered-To: apmail-hbase-user-archive@www.apache.org Received: (qmail 52216 invoked from network); 16 Jul 2010 09:27:45 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 16 Jul 2010 09:27:45 -0000 Received: (qmail 37807 invoked by uid 500); 16 Jul 2010 09:27:44 -0000 Delivered-To: apmail-hbase-user-archive@hbase.apache.org Received: (qmail 36778 invoked by uid 500); 16 Jul 2010 09:27:42 -0000 Mailing-List: contact user-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@hbase.apache.org Delivered-To: mailing list user@hbase.apache.org Received: (qmail 36662 invoked by uid 500); 16 Jul 2010 09:27:38 -0000 Delivered-To: apmail-hadoop-hbase-user@hadoop.apache.org Received: (qmail 36655 invoked by uid 99); 16 Jul 2010 09:27:38 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 16 Jul 2010 09:27:38 +0000 X-ASF-Spam-Status: No, hits=-2.3 required=10.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of clehene@adobe.com designates 64.18.1.185 as permitted sender) Received: from [64.18.1.185] (HELO exprod6og103.obsmtp.com) (64.18.1.185) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 16 Jul 2010 09:27:28 +0000 Received: from source ([192.150.11.134]) by exprod6ob103.postini.com ([64.18.5.12]) with SMTP ID DSNKTEAlXUFpqyH2xeSJBtoStPwau0gLwI1X@postini.com; Fri, 16 Jul 2010 02:27:07 PDT Received: from inner-relay-1.corp.adobe.com ([153.32.1.51]) by outbound-smtp-1.corp.adobe.com (8.12.10/8.12.10) with ESMTP id o6G9FkO5014815; Fri, 16 Jul 2010 02:15:46 -0700 (PDT) Received: from nacas02.corp.adobe.com (nacas02.corp.adobe.com [10.8.189.100]) by inner-relay-1.corp.adobe.com (8.12.10/8.12.10) with ESMTP id o6G9OiTe005690; Fri, 16 Jul 2010 02:24:44 -0700 (PDT) Received: from excas02.corp.adobe.com (10.8.188.212) by nacas02.corp.adobe.com (10.8.189.100) with Microsoft SMTP Server (TLS) id 8.2.254.0; Fri, 16 Jul 2010 02:24:45 -0700 Received: from eurcas01.eur.adobe.com (10.128.4.27) by excas02.corp.adobe.com (10.8.188.212) with Microsoft SMTP Server (TLS) id 8.2.254.0; Fri, 16 Jul 2010 02:24:44 -0700 Received: from eurmbx01.eur.adobe.com ([10.128.4.32]) by eurcas01.eur.adobe.com ([10.128.4.27]) with mapi; Fri, 16 Jul 2010 10:24:39 +0100 From: Cosmin Lehene To: "user@hbase.apache.org" CC: "hbase-user@hadoop.apache.org" Date: Fri, 16 Jul 2010 10:24:37 +0100 Subject: Re: transactional hbase Thread-Topic: transactional hbase Thread-Index: AcskyLbGLmhIMyiDQLmXs2QJh6zMtQ== Message-ID: <724B42AC-A067-4E19-9833-F5E9B48FA3C1@adobe.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Virus-Checked: Checked by ClamAV on apache.org Hi,=20 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.=20 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 enc= ode an entire star schema in a single table in HBase. Each family can act a= s a table. So when you have 1-M relations you can just write all the value= s (M) in a single row (1). This way you could use a single put operation to= update your "child" entities. Cosmin=20 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. >=20 > On Thu, Jul 15, 2010 at 3:11 PM, N Kapshoo wrote: >> Hi, >>=20 >> 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. >>=20 >> 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? >>=20 >> 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? >>=20 >> Thanks. >>=20