Return-Path: Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: (qmail 23446 invoked from network); 20 Apr 2010 17:38:30 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 20 Apr 2010 17:38:30 -0000 Received: (qmail 39337 invoked by uid 500); 20 Apr 2010 17:38:28 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 39313 invoked by uid 500); 20 Apr 2010 17:38:28 -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 39305 invoked by uid 99); 20 Apr 2010 17:38:28 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Apr 2010 17:38:28 +0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of tsuraan@gmail.com designates 209.85.212.44 as permitted sender) Received: from [209.85.212.44] (HELO mail-vw0-f44.google.com) (209.85.212.44) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Apr 2010 17:38:20 +0000 Received: by vws10 with SMTP id 10so438294vws.31 for ; Tue, 20 Apr 2010 10:37:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:content-type; bh=2t53V+8uvgpEt0WLN3mQxgsaWNNzkCDF/T/PJ5RoN4Q=; b=i6OmqK6mJQjfbI421POpSVYpS2M6aUNouriXF5ET6kGA8iaECQC4o6qIQEDR1MYgD9 xjKQxksxEMrj0HogHXGTau+1vBur8fogLMUlKWbAMEotWGJPzuPbUe+vgZQcDkKugBFY Lv6UfRpWYPIYTwR411Gq8/ucFAsc1D6w6Rp6g= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=GPLQa///0w0svdqh1/xsOJZWHxlnT8WZv9cbffddRy7c2/FFn7Pzvhg4apPtFWH1gn QPXDnWKRUNuy0cJt2Q1+4nziyAtHdZF9Ab8MCGjT7m/3YxNjZCAMktooVDDPGJlvjFya 6gh7fZEXyMeqC1J4dv8+O+NI1a/aPuy2Ey7cY= MIME-Version: 1.0 Received: by 10.220.172.204 with HTTP; Tue, 20 Apr 2010 10:37:57 -0700 (PDT) In-Reply-To: <001636b2adb13a709f0484ae5408@google.com> References: <001636b2adb13a709f0484ae5408@google.com> Date: Tue, 20 Apr 2010 12:37:57 -0500 Received: by 10.220.108.34 with SMTP id d34mr4891804vcp.10.1271785079556; Tue, 20 Apr 2010 10:37:59 -0700 (PDT) Message-ID: Subject: Re: Re: Modelling assets and user permissions From: tsuraan To: user@cassandra.apache.org Content-Type: text/plain; charset=ISO-8859-1 X-Virus-Checked: Checked by ClamAV on apache.org > I'm curious as to how you would have so many asset / user permissions that > you couldn't use a standard relational database to model them. Is this some > sort of multi-tenant system where you're providing some generalized asset > check-out mechanism to many, many customers? Even so, I'm not sure the > eventually consistent model wouldn't open you up to check-out collisions, as > you mention yourself. The assets are binary files on a document tracking system. Our current platform is postgres-backed; the entire system we've written is fairly easily distributed across multiple computers, but postgres isn't. There are reliable databases that do scale out, but they tend to be a little on the pricey side... Our current system works well in the tens to hundreds of millions of documents with hundreds of users, but we're hitting the billions of documents with thousands of users, so cassandra's scaling properties are pretty appealing there. I don't think eventual consistency would be a terrible problem; so long as our system lives in a rack, or at least in a single data center I think the database would become consistent before the documents would be visible by any users of the system. > Am I missing something about your example? Just the scale, I think. I like relational databases, but I'm really interested in trying out cassandra's way, if I can come up with a sane way to model my system in it.