Return-Path: Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: (qmail 25997 invoked from network); 6 Oct 2010 17:15:48 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 6 Oct 2010 17:15:48 -0000 Received: (qmail 31377 invoked by uid 500); 6 Oct 2010 17:15:46 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 31348 invoked by uid 500); 6 Oct 2010 17:15:46 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 31340 invoked by uid 99); 6 Oct 2010 17:15:46 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 Oct 2010 17:15:46 +0000 X-ASF-Spam-Status: No, hits=2.9 required=10.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [209.85.161.44] (HELO mail-fx0-f44.google.com) (209.85.161.44) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 Oct 2010 17:15:40 +0000 Received: by fxm6 with SMTP id 6so5392044fxm.31 for ; Wed, 06 Oct 2010 10:15:18 -0700 (PDT) MIME-Version: 1.0 Received: by 10.102.220.19 with SMTP id s19mr4156766mug.115.1286385315807; Wed, 06 Oct 2010 10:15:15 -0700 (PDT) Received: by 10.102.228.2 with HTTP; Wed, 6 Oct 2010 10:15:15 -0700 (PDT) X-Originating-IP: [64.132.24.248] In-Reply-To: <649A15D5-25BF-47A0-B6D0-007EA1C93947@grnoc.iu.edu> References: <649A15D5-25BF-47A0-B6D0-007EA1C93947@grnoc.iu.edu> Date: Wed, 6 Oct 2010 12:15:15 -0500 Message-ID: Subject: Re: get keys based on values?? From: Tyler Hobbs To: user@cassandra.apache.org Content-Type: multipart/alternative; boundary=0016e6de153acb007c0491f5eb6d --0016e6de153acb007c0491f5eb6d Content-Type: text/plain; charset=ISO-8859-1 If you're interested in only checking part of a column's value, you can generally just store that part of the value in a different column. So, have an "email_addr" column and a "email_domain" column, which stores "aol.com", for example. Then you can just use a secondary index on the "email_domain" column. - Tyler On Wed, Oct 6, 2010 at 10:33 AM, Brayton Thompson wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Ok, I am VERY new to Cassandra and trying to get my head around its core > ideas. > > So lets say I have a CF of Users that contains all the info I would ever > want to know about them. One day I decide(for some reason) that I want to > send a mass email to only the users with AOL email addresses. Is there a > mechanism for getting only keys whose email attribute contains the string @ > aol.com ? Or is this frowned upon? I could also envision separate CF's for > each email type; that stored values to use as keys into my Users CF. Say the > AOL CF contains the usernames of everyone that has an aol account. So I > would pull all of the keys from that CF and then use them to index into the > Users CF to pull their email addresses. It seems to me that this is > redundant. So I would like your thoughts on my example. > > Thank you, > Brayton Thompson > thompsbp@grnoc.iu.edu > Global Research Network Operation Center > Indiana University > -----BEGIN PGP SIGNATURE----- > Version: GnuPG/MacGPG2 v2.0.14 (Darwin) > > iQIcBAEBAgAGBQJMrJa1AAoJENisXTckM+p9ffcP/1UmNDyWxDnOu41ZRcVwmJiE > +47QxqNc57WmdXX86FUvcauhPFFNZfbrbGwA61sof1sktSOL83osOXQuOfGr5GvT > tulU3+rQ1B+ea0x+aBESbKZwXHxckLGdst2Hro1eCVXEna+VvqkxNJ2rvYzE3hNM > FTNBWDIv3JbOChTYBnycBqg1iG5yMDkc2xEHlaiw9S/VsOPU18pPYrf42eoSqgnk > /rZDCxxiThznuaLI70QnU3O7ZTiyXpavN8BUW6KoeDZNAypgg1AayhEL2d67zZWu > qtnGEpoIeieinjccWMpkUrv2f14CZQ5gbJSLwPdoNLItYLnFvGHg0Ca/hXhrkIDr > BqnA0R5w2YHB+5p84gvj1NTRE0O2kXcUHkLDDBvnlLKUOUkoDyqr5tGAIwHhIwA7 > hpko76CyGN84bS8Kma+1D6e8wg9zqfiS9mvvErJCUOwyU5e+XeoiCdyhwgDHJKlW > T5UjMXdAHwyZly48J5l6jEJastHsL1wKAHeV/NlQ1gEx2CmnnJ0lBPDPqlT5Lxdb > uQFzS/YhFzxWL2gApHKF8EdCz4jFbPUggYYPsVgfYkNNBISgcIiQaEIIPkri96vb > V/xhnxLrFCO20NnGQ5PCTzCnZptyc3V+9WI542fnRGcS8SbF+N5BdLzoJBjtidrI > a/Nps/KUhJ5kVzJ0o8H3 > =oBhH > -----END PGP SIGNATURE----- > --0016e6de153acb007c0491f5eb6d Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable If you're interested in only checking part of a column's value, you= can generally
just store that part of the value in a different column.= =A0 So, have an "email_addr" column
and a "email_domain&q= uot; column, which stores "aol.com"= ;, for example.

Then you can just use a secondary index on the "email_domain"= column.

- Tyler

On Wed, Oct 6, 20= 10 at 10:33 AM, Brayton Thompson <thompsbp@grnoc.iu.edu> wrote:
-----BEGIN PGP SI= GNED MESSAGE-----
Hash: SHA1

Ok, I am VERY new to Cassandra and trying to get my head around its core id= eas.

So lets say I have a CF of Users that contains all the info I would ever wa= nt to know about them. One day I decide(for some reason) that I want to sen= d a mass email to only the users with AOL email addresses. Is there a mecha= nism for getting only keys whose email attribute contains the string @aol.com ? Or is this frowned up= on? I could also envision separate CF's for each email type; that store= d values to use as keys into my Users CF. Say the AOL CF contains the usern= ames of everyone that has an aol account. So I would pull all of the keys f= rom that CF and then use them to index into the Users CF to pull their emai= l addresses. =A0It seems to me that this is redundant. So I would like your= thoughts on my example.

Thank you,
Brayton Thompson
thompsbp@grnoc.iu.edu
Global Research Network Operation Center
Indiana University
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.14 (Darwin)

iQIcBAEBAgAGBQJMrJa1AAoJENisXTckM+p9ffcP/1UmNDyWxDnOu41ZRcVwmJiE
+47QxqNc57WmdXX86FUvcauhPFFNZfbrbGwA61sof1sktSOL83osOXQuOfGr5GvT
tulU3+rQ1B+ea0x+aBESbKZwXHxckLGdst2Hro1eCVXEna+VvqkxNJ2rvYzE3hNM
FTNBWDIv3JbOChTYBnycBqg1iG5yMDkc2xEHlaiw9S/VsOPU18pPYrf42eoSqgnk
/rZDCxxiThznuaLI70QnU3O7ZTiyXpavN8BUW6KoeDZNAypgg1AayhEL2d67zZWu
qtnGEpoIeieinjccWMpkUrv2f14CZQ5gbJSLwPdoNLItYLnFvGHg0Ca/hXhrkIDr
BqnA0R5w2YHB+5p84gvj1NTRE0O2kXcUHkLDDBvnlLKUOUkoDyqr5tGAIwHhIwA7
hpko76CyGN84bS8Kma+1D6e8wg9zqfiS9mvvErJCUOwyU5e+XeoiCdyhwgDHJKlW
T5UjMXdAHwyZly48J5l6jEJastHsL1wKAHeV/NlQ1gEx2CmnnJ0lBPDPqlT5Lxdb
uQFzS/YhFzxWL2gApHKF8EdCz4jFbPUggYYPsVgfYkNNBISgcIiQaEIIPkri96vb
V/xhnxLrFCO20NnGQ5PCTzCnZptyc3V+9WI542fnRGcS8SbF+N5BdLzoJBjtidrI
a/Nps/KUhJ5kVzJ0o8H3
=3DoBhH
-----END PGP SIGNATURE-----

--0016e6de153acb007c0491f5eb6d--