From user-return-12689-apmail-cassandra-user-archive=cassandra.apache.org@cassandra.apache.org Tue Feb 01 17:19:26 2011 Return-Path: Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: (qmail 78184 invoked from network); 1 Feb 2011 17:19:26 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 1 Feb 2011 17:19:26 -0000 Received: (qmail 92672 invoked by uid 500); 1 Feb 2011 17:19:24 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 92509 invoked by uid 500); 1 Feb 2011 17:19:21 -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 92496 invoked by uid 99); 1 Feb 2011 17:19:21 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Feb 2011 17:19:21 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of kallin.nagelberg@gmail.com designates 74.125.83.44 as permitted sender) Received: from [74.125.83.44] (HELO mail-gw0-f44.google.com) (74.125.83.44) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Feb 2011 17:19:13 +0000 Received: by gwb20 with SMTP id 20so2975435gwb.31 for ; Tue, 01 Feb 2011 09:18:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:from:date:message-id:subject:to :content-type:content-transfer-encoding; bh=E43p1daHEBENP65lPcJSRbTEQ90q69bIJ0CQgWK8K4g=; b=o/KBgskdjPsBAVBYCr5lgtrn2zCtONr94Hz94iwqo1EJPVo0g7jCvfPcDmgmvaVq7j Mn0Co8bzQxUB1ooFOYxa42eiJi4j1+BVVQpu9NHK5lQsENWtlE7jmLqJibTdw2UbDYgE KGb8kQnM+3PQHiYWaguHbBLOkyaUGLX56Agis= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type :content-transfer-encoding; b=kBLE90rpBmIRd5iji2C5uqWXIT5+UPPHL9CE87Uk28RESQvMT43GAEzvvHFbZ2Uqmk F1mXgU/DeDBvdDoN6TUziDxRpYYxKDMDLAlARyAuEmjN3QN5Hdq5NNPRCB8BqQ6Fwq+q GO8lkgpTo4g97l618L64NqJA/bS0Q3NZNaNZI= Received: by 10.90.7.15 with SMTP id 15mr11038432agg.13.1296580732351; Tue, 01 Feb 2011 09:18:52 -0800 (PST) MIME-Version: 1.0 Received: by 10.90.68.15 with HTTP; Tue, 1 Feb 2011 09:18:32 -0800 (PST) From: Kallin Nagelberg Date: Tue, 1 Feb 2011 12:18:32 -0500 Message-ID: Subject: cassandra as session store To: user@cassandra.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org Hey, I am currently investigating Cassandra for storing what are effectively web sessions. Our production environment has about 10 high end servers behind a load balancer, and we'd like to add distributed session support. My main concerns are performance, consistency, and the ability to create unique session keys. The last thing we would want is users picking up each others sessions. After spending a few days investigating Cassandra I'm thinking of creating a single keyspace with a single super-column-family. The scf would store a few standard columns, and a supercolumn of arbitrary session attributes, like: 0s809sdf8s908sf90s: { prop1: x, created : timestamp, lastAccessed: timestamp, prop2: y, arbirtraryProperties : { =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 someRandomProperty1:xxyyzz, =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 someRandomProperty2:xxyyzz, =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 someRandomProperty3:xxyyzz } Does this sound like a reasonable use case? We are on a tight timeline and I'm currently on the fence about getting something up and running like this on a tight timeline. Thanks, -Kal