Return-Path: X-Original-To: apmail-accumulo-user-archive@www.apache.org Delivered-To: apmail-accumulo-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 4206B10949 for ; Wed, 25 Jun 2014 16:18:18 +0000 (UTC) Received: (qmail 22974 invoked by uid 500); 25 Jun 2014 16:18:15 -0000 Delivered-To: apmail-accumulo-user-archive@accumulo.apache.org Received: (qmail 22921 invoked by uid 500); 25 Jun 2014 16:18:15 -0000 Mailing-List: contact user-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@accumulo.apache.org Delivered-To: mailing list user@accumulo.apache.org Received: (qmail 22911 invoked by uid 99); 25 Jun 2014 16:18:15 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Jun 2014 16:18:15 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of jianshi.huang@gmail.com designates 209.85.128.179 as permitted sender) Received: from [209.85.128.179] (HELO mail-ve0-f179.google.com) (209.85.128.179) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Jun 2014 16:18:13 +0000 Received: by mail-ve0-f179.google.com with SMTP id sa20so2284014veb.10 for ; Wed, 25 Jun 2014 09:17:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=OTne2OrmTtyLyT6l6hvzxjlyvDpu3EiTPN8j7KpEaOI=; b=Fo9B+bYXWcoNDMet8bY43/mJn/r1X13z8OapvwA3mg29FvDdgnk3zf4/3AW0i3EFki gCMOaKyiMh42YEMvDw381UJtY6Pi9Ei/vL4/DcYmIMr8zkbEZXusvCgdGLdQrbaXfpKN glEDEj2/Uj5SByb8Zj2/JrtFeFc3PWoU8K/AnecCn7Z+cuq59PAIumFfv+VT/F6tDmYc dA6V+B0a7211jAQtW4PS23EGHE1Jg0+iUZ0tUdWyzmnFf2e7MnnrHrLQcNj8GafcKjOM 8acAytlMwZ6M6H0qlhJAdb6Fa1Rugd+i9njCjtQf3InNokvxSrYTAwCSbjPI4OFaY5xs /ZSA== X-Received: by 10.52.120.109 with SMTP id lb13mr2222693vdb.53.1403713068714; Wed, 25 Jun 2014 09:17:48 -0700 (PDT) MIME-Version: 1.0 Received: by 10.220.2.10 with HTTP; Wed, 25 Jun 2014 09:17:28 -0700 (PDT) In-Reply-To: References: <20140623233721.GA6465@ll.mit.edu> From: Jianshi Huang Date: Thu, 26 Jun 2014 00:17:28 +0800 Message-ID: Subject: Re: How does Accumulo compare to HBase To: user@accumulo.apache.org Content-Type: multipart/alternative; boundary=089e013a0f22d3d32104fcab6ac4 X-Virus-Checked: Checked by ClamAV on apache.org --089e013a0f22d3d32104fcab6ac4 Content-Type: text/plain; charset=UTF-8 I see. Namespace is definitely a feature I will use. Thank you Sean. On Wed, Jun 25, 2014 at 11:41 PM, Sean Busbey wrote: > Personally, I would use namespaces for this purpose[1]. > > > [1]: http://accumulo.apache.org/notable_features.html#namespaces > > > On Wed, Jun 25, 2014 at 4:30 AM, Jianshi Huang > wrote: > >> Ah I see. Then I need to control versioning myself. A customized >> versioning iterator aware of a/b/prod labels? >> >> Maybe there's a better way to do it. >> >> Jianshi >> >> >> >> On Wed, Jun 25, 2014 at 4:19 PM, Sean Busbey wrote: >> >>> On Wed, Jun 25, 2014 at 2:52 AM, Jianshi Huang >>> wrote: >>> >>>> + another 2cents myself >>>> >>>> I think one innovative way to use the visibility tag is for version >>>> controls in development. I can set, say, "alpha", "beta", "released" >>>> visibility tags to each cell and set different users in testing and >>>> production. Looks like this will simplify testing a lot. >>>> >>>> i.e. >>>> - production user: "production" >>>> - beta testing user: "beta" && "production" >>>> - alpha testing user: "alpha" && "beta" && "production" >>>> >>>> BTW, will they be counted as same record with different version? Or >>>> different records? >>>> >>>> Does that make sense? >>>> >>>> >>>> >>> >>> Within Accumulo those will be different cells. In HBase they will be >>> different versions of the same cell. >>> >>> There are tradeoffs for both approaches. In Accumulo, for example, if >>> you have >>> >>> row 1 | user props | bob | alpha | ts0 | foo=dee >>> row 1 | user props | bob | beta | ts2 | foo=cats >>> row 1 | user props | bob | production | ts1 | foo=bar >>> >>> then with your given user accesses, those users will see multiple cells >>> and you'll need application logic to deal with it. >>> >>> >>> -- >>> Sean >>> >> >> >> >> -- >> Jianshi Huang >> >> LinkedIn: jianshi >> Twitter: @jshuang >> Github & Blog: http://huangjs.github.com/ >> > > > > -- > Sean > -- Jianshi Huang LinkedIn: jianshi Twitter: @jshuang Github & Blog: http://huangjs.github.com/ --089e013a0f22d3d32104fcab6ac4 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I see. Namespace is definitely a feature I will use. Thank= you Sean.


On Wed, Jun 25, 2014 at 11:41 PM, Sean Busbey <busbey@cloudera.com> wrote:
Personally, I would use nam= espaces for this purpose[1].


[1]:=C2=A0http://accumulo.apache.org/notable_features.html#namespaces


On Wed, Jun 25, 2014 at 4:30 AM, Jianshi Huang <j= ianshi.huang@gmail.com> wrote:
Ah I see. Then I need to co= ntrol versioning myself. A customized versioning iterator aware of a/b/prod= labels?

Maybe there's a better way to do it.

Jianshi



On Wed, Jun 25, 20= 14 at 4:19 PM, Sean Busbey <busbey@cloudera.com> wrote:
=
On Wed, Jun 25, 2014 at 2:52 AM, Jianshi Hu= ang <jianshi.huang@gmail.com> wrote:
+ another 2cents myself

I think one innovative way to use the visibility tag is for version control= s in development. I can set, say, "alpha", "beta", &quo= t;released" visibility tags to each cell and set different users in te= sting and production. Looks like this will simplify testing a lot.=C2=A0

i.e.
- production user: "production"= ;
- beta testing user: "beta" && "producti= on"
- alpha testing user: "alpha" && "= ;beta" && "production"

BTW, will they be counted as same record with different= version? Or different records?

Does that make sen= se?




=
Within Accumulo those will be different cells. In HBase they will be d= ifferent versions of the same cell.

There are trad= eoffs for both approaches. In Accumulo, for example, if you have=C2=A0

row 1 | user props | bob | alpha =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0| =C2=A0ts0 | foo=3Ddee
row 1 | user props | bob= | beta =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| =C2=A0ts2 | foo=3Dcats
row 1 | user props | bob | production | =C2=A0ts1 | foo=3Dbar<= /div>

then with your given user accesses, those users will se= e multiple cells and you'll need application logic to deal with it.


--
Sean



--=
Jianshi Huang

LinkedIn: jianshi
Twitter: @jshuang
Github = & Blog: http:/= /huangjs.github.com/



--
Sean



--
Jianshi Huan= g

LinkedIn: jianshi
Twitter: @jshuang
Github & Blog: http://huangjs.github.c= om/
--089e013a0f22d3d32104fcab6ac4--